背景:
用户希望删除和禁用Designer单元格右键菜单的某些项,以满足业务中的需求。
思路:
在打开右键菜单时,会触发onOpenMenu,所以可以在此获取显示的菜单项,进而删除或禁用。
- var oldOpenMenu = spread.contextMenu.onOpenMenu;
- spread.contextMenu.onOpenMenu = function (
- menuData,
- itemsDataForShown,
- hitInfo,
- spread
- ) {
- oldOpenMenu.apply(this, arguments);
- console.log(itemsDataForShown);
- itemsDataForShown.forEach((item, index) => {
- // 删除剪切项
- if (item.name == "contextMenuCut") {
- itemsDataForShown.splice(index, 1)
- }
- // 禁用筛选项
- if (item.name == "gc.spread.contextMenu.filter") {
- item.disable = true;
- }
- })
- };
复制代码 测试效果如下图:
|
|