右键菜单删除菜单项(SpreadJS运行时&在线表格编辑器)
本帖最后由 Winny 于 2022-5-20 15:21 编辑SpreadJS整体可以分成两部分,一部分是SpreadJS运行时,可以理解成当前页面中只嵌入了格子区域。另一部分叫做在线表格编辑器,可以理解成是页面中同时引入了格子区域以及工具栏,个人也习惯简称它为设计器。针对这两种形式,在自定义右键菜单删除某一项时,使用的方法不完全相同。本文以删除右键菜单插入行为例,讲解如何实现右键菜单项的删除。如果在项目需求中,需要在设计器模和运行时模式下,右键行头都不显示新增行的菜单项,则以下代码时都需要添加的,而不是说修改了设计器的右键菜单项,运行时的右键菜单项就不需要调整了。
1. 删除设计器的右键菜单-插入
右键菜单的配置项位于设计器的config信息中,因此第一步我们需要拿到当前的配置信息:
上图中,config中的contextMenu就是右键菜单的配置项,英文单词也比较见名知意,插入行对应的为数组索引为24的数据项,对应的值为'gc.spread.contextMenu.insertRows',接下来,只要将该项从数组中删除即可,即执行:
config.contextMenu.splice(24,1)最后,更新当前designer实例的配置信息,执行:
designer.setConfig(config)完整的测试代码如下:
// 获取默认配置
let config = GC.Spread.Sheets.Designer.DefaultConfig
//删除目标移除项,splice()方法第一参数根据自己的需求调整
config.contextMenu.splice(24,1)
//更新设计器配置
designer.setConfig(config)
2. 删除SpreadJS运行时右键菜单-删除项
SpreadJS运行时的右键菜单配置项位spread实例的contextMenu下的menuData中,如下图所示:
截图可以看到第22项为目标删除项,此时执行数组的删除方法即可:
spread.contextMenu.menuData.splice(22,1)
页:
[1]