找回密码
 立即注册

QQ登录

只需一步,快速开始

penny.

注册会员

16

主题

34

帖子

156

积分

注册会员

积分
156
penny.
注册会员   /  发表于:2022-10-12 19:53  /   查看:5870  /  回复:22
3金币
本帖最后由 Ellia.Duan 于 2022-10-26 11:55 编辑
  1. const initDesigner = (
  2.             designerEntity
  3.         ) => {
  4.             designer = designerEntity;
  5.             let spread = designer.getWorkbook();
  6.             let sheet =
  7.                 spread.getActiveSheet();
  8.             sheet.setValue(0, 0, "grapecity");
  9.             let cm = spread.commandManager();
  10.             cm.addListener('myListener', onCommandExecute())
  11.         };
复制代码
  1. const onCommandExecute = (args) => {
  2.             connectDocument()
  3.             console.log("123", args);
  4.             // console.log(args.command);
  5.             var command = args.command;
  6. }
复制代码
获取不到args,应该怎么写呢?

最佳答案

查看完整内容

您好,在client react项目中,访问http://localhost:3001/OnlineSheets ,出现了xlsx列表,点击任何一个,进入协同页面。其中,在react中进行了fromJSON()处理, 初始化了designer定义的各种命令事件等 ,所以在onCommandExecute是有值的。 但是在您的vue代码中,只是进行了designer初始化,并没有进行各种绑定。 关于绑定内容,可以参考GcExcel项目。所以这边是undefined. 或者还有一个验证方法,就是您在react中新 ...

22 个回复

倒序浏览
最佳答案
最佳答案
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-10-12 19:53:57
来自 20#
您好,在client react项目中,访问http://localhost:3001/OnlineSheets ,出现了xlsx列表,点击任何一个,进入协同页面。其中,在react中进行了fromJSON()处理,
image.png444605407.png

初始化了designer定义的各种命令事件等 ,所以在onCommandExecute是有值的。

但是在您的vue代码中,只是进行了designer初始化,并没有进行各种绑定。
关于绑定内容,可以参考GcExcel项目。所以这边是undefined.

或者还有一个验证方法,就是您在react中新建一个页面,不进行fromJSON()等操作,看是否会打印args.

回复 使用道具 举报
xcymoo
超级版主   /  发表于:2022-10-13 09:41:44
2#
您好,请问您的这么写是要实现什么需求呢?
您的写法是有点问题的,在添加监听的时候,监听方法不应该被执行:
image.png827759094.png
另外,这种方式是不被推荐的,您可以参考register方法
https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Commands.CommandManager#register
回复 使用道具 举报
penny.
注册会员   /  发表于:2022-10-13 11:27:48
3#
按照之前给的demo想实现协同编辑,componets/Spreadsheet转化为vue3的写法

Client.zip

60.31 KB, 下载次数: 882

回复 使用道具 举报
xcymoo
超级版主   /  发表于:2022-10-13 12:31:42
4#
penny. 发表于 2022-10-13 11:27
按照之前给的demo想实现协同编辑,componets/Spreadsheet转化为vue3的写法

明白您的意思了,如果想要做协同编辑,那么就需要监听所有的事件,然后把事件中发生的事情同步到服务器。这里推荐您使用bind方法进行监听,commondManager可能无法实现您的需求:
https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.Worksheet#bind
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-13 18:26:40
5#
从问题描述来看,您是想咨询为什么vue3 demo里获取不到args这个参数吗?
另,您参考的是哪篇教程呢?请提供下详细信息,这边结合demo代码调研下问题原因。
回复 使用道具 举报
penny.
注册会员   /  发表于:2022-10-14 09:27:05
6#
Lynn.Dou 发表于 2022-10-13 18:26
从问题描述来看,您是想咨询为什么vue3 demo里获取不到args这个参数吗?
另,您参考的是哪篇教程呢?请提 ...

按照之前给的demo想实现协同编辑,文件夹里componets/Spreadsheet文件原是react的想法,请帮忙转化为vue3的写法

Client.zip

60.31 KB, 下载次数: 819

回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-10-14 14:05:50
7#
penny. 发表于 2022-10-14 09:27
按照之前给的demo想实现协同编辑,文件夹里componets/Spreadsheet文件原是react的想法,请帮忙转化为vue3 ...

附件中给出了Vue3与Vue2 的示例代码

VueSample.zip

147.79 KB, 下载次数: 868

回复 使用道具 举报
penny.
注册会员   /  发表于:2022-10-19 15:21:39
8#
Ellia.Duan 发表于 2022-10-14 14:05
附件中给出了Vue3与Vue2 的示例代码

给的附件只是最基础的用法,对之前的附件没有用处
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-10-19 18:42:50
9#
无论是react框架还是vue框架还是html+js,其 spreadJS实例化之后的代码是一样的,不同的是 初始化组件的写法。您之前提到想文件夹里componets/Spreadsheet文件是react的写法,这边提供了您vue框架中使用spread中基本使用方式,是可以的。
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部