找回密码
 立即注册

QQ登录

只需一步,快速开始

Lynn.Dou 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-11-18 11:15  /   查看:1769  /  回复:0
本帖最后由 Lynn.Dou 于 2021-11-18 11:15 编辑

背景:
客户希望能重写设计器右键菜单的全部粘贴项,点击全部粘贴时,先弹出弹窗做出提示,再进行粘贴。

思路:
找到全部粘贴命令,重写excute方法,执行想实现的代码逻辑。
然后将命令注册,并赋于原命令。

代码:
  1. var config = JSON.parse(JSON.stringify(GC.Spread.Sheets.Designer.DefaultConfig));
  2.                         var newPasteCommand = GC.Spread.Sheets.Designer.getCommand(GC.Spread.Sheets.Designer.CommandNames.DesignerPasteAll);
  3.                         if(newPasteCommand){
  4.                                 var oldExecute = newPasteCommand.execute;
  5.                                 newPasteCommand.execute = function(context, propertyName, args){
  6.                                     //添加confirm逻辑
  7.                                         alert("粘贴");
  8.                                        
  9.                                         oldExecute.call(this, context, propertyName, args)
  10.                                 }
  11.                         }
  12.                         config.commandMap = {};
  13.                         config.commandMap[GC.Spread.Sheets.Designer.CommandNames.DesignerPasteAll] = newPasteCommand;

  14.                         var d = new GC.Spread.Sheets.Designer.Designer(document.getElementById("gc-designer-container"), config);
复制代码
完整代码请参考附件demo

设计器-重写右键菜单全部粘贴项.html

2.91 KB, 下载次数: 29

0 个回复

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