Designer右键菜单删除或禁用某项
背景:用户希望删除和禁用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;
}
})
};测试效果如下图:
页:
[1]