找回密码
 立即注册

QQ登录

只需一步,快速开始

cmbsjdev

金牌服务用户

86

主题

307

帖子

883

积分

金牌服务用户

积分
883
cmbsjdev
金牌服务用户   /  发表于:2022-9-13 08:42  /   查看:1945  /  回复:6
1金币
本帖最后由 Ellia.Duan 于 2024-9-13 14:35 编辑

留意到 spread-sheets-vue 和 spread-sheets-designer-vue 带了vue后缀,是不是推荐用这个,这两个定位是怎样的?
目前遇到设计器导入ssjson后响应慢的问题,比如单元格输入字符串xxx,鼠标失焦,实际单元格值已经变了,但是显示还是原来的,再次点击上去更新的值才会看到。
1726209194451.png314843138.png

最佳答案

查看完整内容

单纯用SpreadJS没有遇到过上述问题,可以正常缓存this.spread

6 个回复

倒序浏览
最佳答案
最佳答案
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-9-13 08:42:06
来自 7#
单纯用SpreadJS没有遇到过上述问题,可以正常缓存this.spread
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-9-13 10:23:47
2#
本帖最后由 Clark.Pan 于 2022-9-13 10:27 编辑

您好:
VUE3集成SpreadJS可以参考附件demo另外您说的加载慢的问题。之前有出过一个类似的情况,原因有两点:
一是需要使用V15.1.4之后的版本,如果您使用的是V15.1.4之前的版本,建议升级
二是把spread对象放到return中进行声明(放到了全局)。vue3 将使用代理包装该对象,这将破坏 javascript 对象的生命周期。所以不能将复杂的 javascript 对象缓存到全局 vue3 变量。
spread对象就是一个比较复杂的对象,后续还要有很多基于该对象的复杂操作,例如fromJSON等。所以不能将spread放到全局声明

所以建议可以将designer放到全局,要获取spread对象的时候用designer.getWorkbook()方法去获取。
如果您也存在上述情况,可以参考上述方法进行修改。
如果是其他情况导致,请提供对应的demo,我们详细调研一下。



vue3.zip

10.23 KB, 下载次数: 204

回复 使用道具 举报
cmbsjdev
金牌服务用户   /  发表于:2022-9-13 11:20:10
3#
谢谢,看起来是放到全局的问题,我们重构下代码
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-9-13 11:50:41
4#
回复 使用道具 举报
cmbsjdev
金牌服务用户   /  发表于:2022-9-14 11:36:43
5#
如果页面没有designer只有sheet,还需要全局引用到sheet,该怎么处理?
回复 使用道具 举报
cmbsjdev
金牌服务用户   /  发表于:2022-9-14 17:05:11
6#
@版主 还有个问题,帮忙解答一下,谢谢

如果页面没有designer只有sheet,还需要全局引用到sheet,该怎么处理?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部