找回密码
 立即注册

QQ登录

只需一步,快速开始

AsIAm

注册会员

13

主题

38

帖子

119

积分

注册会员

积分
119
AsIAm
注册会员   /  发表于:2024-4-8 11:04  /   查看:368  /  回复:8
10金币
本帖最后由 Richard.Huang 于 2024-4-11 15:57 编辑

产品:SpreadJS

image.png629505309.png

在通过json渲染的过程中会报错Maximum call stack size exceeded
如果不用resumeCalcService()唤起计算就可以正常展示
用了resumeCalcService()唤起计算就就会报Maximum call stack size exceeded这个错误
json大小大概在22M左右
这是什么原因?有什么方法可以解决吗?

8 个回复

倒序浏览
AsIAm
注册会员   /  发表于:2024-4-8 14:01:09
沙发
本帖最后由 AsIAm 于 2024-4-8 14:49 编辑

急急急~ 没有递归  只是正常渲染json
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-4-8 15:10:44
板凳
猜测可能是公式相关导致的问题,请您提供一下可以复现该问题的SSJSON,这边复现后调研一下看看是否有相关的解决方案。
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
AsIAm
注册会员   /  发表于:2024-4-8 15:42:00
地板
Joestar.Xu 发表于 2024-4-8 15:10
猜测可能是公式相关导致的问题,请您提供一下可以复现该问题的SSJSON,这边复现后调研一下看看是否有相关的 ...

公式好像没有问题  因为文件是从外部导入进去的 并且保存成功了 只是再次进入通过fromJSON的时候报错了 ,我在data里面定义了 spread 和sheet  我刚刚删掉了data里面的 spread 和sheet 就没有报错了  感觉只是暂时没问题随时都会有风险,有什么更好的建议吗
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-4-8 17:34:52
5#
您好,您说的data具体指的是什么呢?SpreadJS的JSON结构中好像并没有在data中定义spread和sheet。能否请您详细说明一下?

另外您说的“文件是从外部导入进去的 并且保存成功了 只是再次进入通过fromJSON的时候报错了”,外部导入是说一开始是先导入了一个excel文件,然后获取到json数据后再重新fromJSON吗?
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
AsIAm
注册会员   /  发表于:2024-4-8 17:52:29
6#
Joestar.Xu 发表于 2024-4-8 17:34
您好,您说的data具体指的是什么呢?SpreadJS的JSON结构中好像并没有在data中定义spread和sheet。能否请您 ...

不好意思可能是我没表达清楚   
第一个  使用的技术栈是vue2 data是vue组件中的data函数
第二个  是你描述的这个意思
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-4-9 10:15:30
7#
猜测是因为Vue2在将spread或sheet对象传递给组件的data函数时,Vue 会自动将该对象包装为响应式属性。

可能会破坏SpreadJS内部对象访问流程,建议您在后续的函数中使用findControl来获取spread对象,避免使用this.spread或this.data.spread的方式来获取。
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-4-17 15:20:38
8#
您好,请问您的问题是否已经解决,如果仍未解决,欢迎继续回帖,我们来协助调研。
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:5 天前
9#
注意到楼主长时间未回复,那本帖就先结帖了,有问题欢迎另开新帖交流。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部