找回密码
 立即注册

QQ登录

只需一步,快速开始

Lynn.Dou 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-11-8 16:34  /   查看:104  /  回复:0
背景:

用户希望删除和禁用Designer单元格右键菜单的某些项,以满足业务中的需求。

思路:
在打开右键菜单时,会触发onOpenMenu,所以可以在此获取显示的菜单项,进而删除或禁用。
  1. var oldOpenMenu = spread.contextMenu.onOpenMenu;
  2.             spread.contextMenu.onOpenMenu = function (
  3.                 menuData,
  4.                 itemsDataForShown,
  5.                 hitInfo,
  6.                 spread
  7.             ) {
  8.                 oldOpenMenu.apply(this, arguments);
  9.                 console.log(itemsDataForShown);

  10.                 itemsDataForShown.forEach((item, index) => {
  11.                     // 删除剪切项
  12.                     if (item.name == "contextMenuCut") {
  13.                         itemsDataForShown.splice(index, 1)
  14.                     }
  15.                     // 禁用筛选项
  16.                     if (item.name == "gc.spread.contextMenu.filter") {
  17.                         item.disable = true;
  18.                     }
  19.                 })
  20.             };
复制代码
测试效果如下图:
image.png858515319.png

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部