找回密码
 立即注册

QQ登录

只需一步,快速开始

13732977034

初级会员

39

主题

87

帖子

366

积分

初级会员

积分
366
13732977034
初级会员   /  发表于:2021-7-6 17:29  /   查看:2640  /  回复:8
spreadjs    v14.0.9

问题描述:
1、在vue中spread使用vuex进行管理,进入项目初始化的时候绑定事件监听,这时可以监听到spread事件变动;
2、动态新增sheet后发现spread监听事件不起作用

监听代码:
  1. workbookInitialized: function (spread) {
  2.     spread.fromJSON(this.ssjson);
  3.     this.spreadConfig(spread);
  4.     this.spread = spread;
  5.     this.$store.commit("SET_SPREAD", this.spread);

  6.     this.spreadListen();  //监听
  7.     },

  8.     spreadListen() {
  9.    this.spread.bind(GC.Spread.Sheets.Events.ActiveSheetChanged, function (e, info) {
  10.       console.log("ActiveSheetChanged:", info);
  11.     } );

  12.       this.spread.bind(GC.Spread.Sheets.Events.ValueChanged, function (e, info) {
  13.     console.log("spread值改变:", info);
  14. });
  15.     },
复制代码


动态添加sheet页代码:
  1. newSheets(needCreateSheets) {
  2.       let json = this.$store.state.templateSheetJson;
  3.       let spread = this.$store.state.spread;
  4.       let sheetCount = spread.getSheetCount();

  5.       spread.suspendEvent();
  6.       needCreateSheets.forEach((value, index) => {
  7.         let nameItem = this.checkList.find((item) => {
  8.           return item.value === value;
  9.         });
  10.         let name = nameItem.text;
  11.         json.name = name;
  12.         let newSheet = new GC.Spread.Sheets.Worksheet(name);
  13.         spread.addSheet(sheetCount + index, newSheet);
  14.         //newSheet导入json("复制"模板)
  15.         newSheet.fromJSON(json);
  16.         //选择newSheet
  17.         spread.setActiveSheetIndex(sheetCount + index);

  18.         this.sheetsTag.push(value);
  19.       });
  20.       spread.suspendEvent();
  21.       this.$store.commit("SET_SPREAD", spread);
  22.       this.$store.commit("SET_SHEETS_TAG", this.sheetsTag);
  23.     },
复制代码


image.png886401367.png

image.png589322814.png


具体代码见附件   
spread组件代码路径:\src\components\common\spread\SpreadSheets.vue
动态新增sheet代码路径:\src\views\CCL\ColorFastness.vue

lims-eln.rar

88.05 KB, 下载次数: 98

8 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-6 18:26:00
沙发
本帖最后由 Derrick.Jiao 于 2021-7-7 09:15 编辑

问题已收到,这边需要调研一下,此贴现改为保留处理。(SJS-9165)
回复 使用道具 举报
13732977034
初级会员   /  发表于:2021-7-7 10:23:16
板凳
Derrick.Jiao 发表于 2021-7-6 18:26
问题已收到,这边需要调研一下,此贴现改为保留处理。(SJS-9165)

你好,这是同源性问题造成的,还是什么?
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-7 10:34:58
地板
13732977034 发表于 2021-7-7 10:23
你好,这是同源性问题造成的,还是什么?

这个具体原因还需调研,有修改方案或者修复方案,这边会更新帖子告知您。
回复 使用道具 举报
13732977034
初级会员   /  发表于:2021-7-7 10:44:55
5#
Derrick.Jiao 发表于 2021-7-7 10:34
这个具体原因还需调研,有修改方案或者修复方案,这边会更新帖子告知您。

好的,谢谢
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-7 11:03:10
6#

不用客气的!
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-7 13:45:46
7#

经调研,是您的用法问题
image.png528112487.png
第二suspentEvent应该改为resumeEvent
回复 使用道具 举报
13732977034
初级会员   /  发表于:2021-7-7 13:55:13
8#
Derrick.Jiao 发表于 2021-7-7 13:45
经调研,是您的用法问题

第二suspentEvent应该改为resumeEvent

是的,谢谢了,这个错误我还真的没有查到
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-7 13:56:36
9#
13732977034 发表于 2021-7-7 13:55
是的,谢谢了,这个错误我还真的没有查到

不用客气,有新问题欢迎开新帖交流~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部