有很多朋友在使用编辑器的时候修改了部分单元格的内容,修改之后,需要重新导入新的表单并且不需要保存。因为我们的弹窗默认是保存成ssjson,对于不懂技术的业务人员来说,保存成ssjson对他们的意义并不大,因此这部分弹窗就不再需要了。
在设计器中,有这样一个状态叫做isFileModified,也就是说,当我们表单的内容发生变化后,无论是否撤销。这个状态都会置为true,上述这个弹窗也主要是根据这个状态来控制是否弹出。因此,想要关闭上述弹窗,就可以通过将这个isFileModified的状态置为false即可。
在哪里做这个操作呢?我们需要重写GC.Spread.Sheets.Designer.CommandNames.FileMenuPanel这个命令,这个命令可以说是掌管“文件”这个大的template的“总管”。像是想要在“文件”模板里面加一些按钮逻辑,都是要通过重写FileMenuPanel命令的execute实现。
我们通过下面的代码重写这个命令即可,核心就是通过setData来改变这个状态。
- var fileMenuPanelCommand = GC.Spread.Sheets.Designer.getCommand(GC.Spread.Sheets.Designer.CommandNames.FileMenuPanel);
- var oldExecuteFn = fileMenuPanelCommand.execute;
- fileMenuPanelCommand.execute = function (context, propertyName, newValue) {
- oldExecuteFn.call(this, context, propertyName, newValue);
- context.setData("isFileModified", false);
-
- }
复制代码
最后再将其加到commandMap里面即可
- var config = GC.Spread.Sheets.Designer.DefaultConfig;
- config.commandMap = {
- fileMenuPanel: fileMenuPanelCommand
- }
复制代码
下载附件即可查看demo
关闭保存json弹窗.html
(2.72 KB, 下载次数: 259)
|
|