找回密码
 立即注册

QQ登录

只需一步,快速开始

Winny

超级版主

141

主题

261

帖子

1682

积分

超级版主

Rank: 8Rank: 8

积分
1682
Winny
超级版主   /  发表于:2022-5-20 15:19  /   查看:2096  /  回复:0
本帖最后由 Winny 于 2022-5-20 15:21 编辑

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


2. 删除SpreadJS运行时右键菜单-删除项
SpreadJS运行时的右键菜单配置项位spread实例的contextMenu下的menuData中,如下图所示:

image.png727061156.png
截图可以看到第22项为目标删除项,此时执行数组的删除方法即可:
  1. spread.contextMenu.menuData.splice(22,1)
复制代码


0 个回复

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