找回密码
 立即注册

QQ登录

只需一步,快速开始

Clark.Pan 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-7-2 11:25  /   查看:289  /  回复:2
背景:

SpreadJS V15 升级到 SpreadJS V17 版本后出现了 ShapeBaseData 的报错,详细报错信息如下图所示
f9b62d33bd9defb5e0d29e47e808032.png198676451.png

问题分析:
该问题由于 SpreadJS 在 V17版本对图表功能进行了增强重构,新的重构基于的是形状功能的底层,原因是为了支持图表的分层以及组合,旋转等效果。
基于新的底层,图片功能在引用时需要额外引用 gc.spread.sheets.shapes.xx.x.x.min.js 这个 js 文件。

解决方案:
1. 检查是否有引入 gc.spread.sheets.shapes.xx.x.x.min.js 文件,如果引入了该文件,检查一下该文件是否在 gc.spread.sheets.charts.xx.x.x.min.js 之前引入。
因为新的chart基于 shapes 所以必须引入在 gc.spread.sheets.charts.xx.x.x.min.js 文件之前。

2. 将 gc.spread.sheets.charts.xx.x.x.min.js 文件替换为 gc.spread.sheets.legacycharts.xx.x.x.min.js。legacycharts就是V17之前老版本chart相关的功能。所以如果只是平替,忽略功能性的升级,那么直接替换成 legacycharts 也是可以的。

2 个回复

倒序浏览
yangshuai
注册会员   /  发表于:2024-8-13 17:58:58
沙发
还需要版本号严格对齐。。。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-8-13 18:03:36
板凳
yangshuai 发表于 2024-8-13 17:58
还需要版本号严格对齐。。。

这是必须的,但凡SpreadJS的引用都必须保证版本严格对齐。跟这个错误本身没啥关系
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部