找回密码
 立即注册

QQ登录

只需一步,快速开始

Lynn.Dou 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-5-31 15:07  /   查看:2765  /  回复:0
在之前的文章 SpreadJS在线表格编辑器自定义功能 - 重定义下拉菜单命令,讲述了如何修改下拉菜单的subcommand命令。
有小伙伴咨询如何删除下拉菜单的子项呢?
本篇文章在 SpreadJS在线表格编辑器自定义功能 - 重定义下拉菜单命令 基础之上带领大家学习下。

1、需求:
如下图所示,删除 插入菜单的-插入工作表项
image.png472249755.png

2、步骤

2、1  如何获取相应的command
首先我们获取设计器的默认config
  1. var designerConfig = JSON.parse(JSON.stringify(GC.Spread.Sheets.Designer.DefaultConfig))
复制代码



找到 ”插入“ 对应的命令


image.png155351866.png

查看 "cellsInsert" 命令,找到了要修改的子命令名称:"insertSheet"
  1. GC.Spread.Sheets.Designer.getCommand("cellsInsert")
复制代码


image.png524275512.png

2、2 找到相应的command后,删除这个command

定义一个CommadMap集合
  1. designerConfig.commandMap = {}
复制代码
获取cellsInsert命令列表

  1. var insertList = GC.Spread.Sheets.Designer.getCommand("cellsInsert")
复制代码

删除指定subCommand和分隔线
  1. insertList.subCommands.splice(4,2)
复制代码

放回commandMap
  1. designerConfig.commandMap[GC.Spread.Sheets.Designer.CommandNames.CellsInsert] = insertList;
复制代码
最后用setConfig将其放回默认config里面
  1. var designer = GC.Spread.Sheets.Designer.findControl('gc-designer-container');
  2. designer.setConfig(designerConfig)
复制代码
测试结果如下:

image.png283482665.png



image.png137556761.png

0 个回复

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