找回密码
 立即注册

QQ登录

只需一步,快速开始

nutstore
金牌服务用户   /  发表于:2023-10-30 10:32  /   查看:2463  /  回复:7
getActiveSheet 在包里面的声明是 WorkSheet 但是也有可能是 TableSheet ,WorkSheet 是可以正常读取到options的,但是TableSheet是没有options的,这个问题你们ts因为类型声明问题导致项目代码出现了崩溃,望修复。

7 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-10-30 13:35:12
沙发
您好,如果您想要获取的是当前的集算表的话,需要使用getActiveSheetTab来获取,而非getActiveSheet。
回复 使用道具 举报
nutstore
金牌服务用户   /  发表于:2023-10-30 14:39:19
板凳
Joestar.Xu 发表于 2023-10-30 13:35
您好,如果您想要获取的是当前的集算表的话,需要使用getActiveSheetTab来获取,而非getActiveSheet。

我知道获取集算表用 getActiveSheetTab。主要是spreadjs的这个ts声明明确说了返回 WorkSheet 但是有时候并不是从而导致某些情况下页面的crash,我觉得这是一个bug
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-10-30 14:42:01
地板
了解了,您这边能否提供一个可以复现该问题的Demo,我这边调研一下看看。
回复 使用道具 举报
nutstore
金牌服务用户   /  发表于:2023-10-30 16:50:37
5#
Joestar.Xu 发表于 2023-10-30 14:42
了解了,您这边能否提供一个可以复现该问题的Demo,我这边调研一下看看。




这个附件项目即可复现

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-10-30 17:39:08
6#
我将您这个JSON导入到Demo里面,当前Active的Sheet是TableSheet,对于这种情况,使用getActiveSheet接口是无法获取当前sheet的,你会看见右侧控制台中输出的值为undefined。



这种情况下您应该使用getActiveSheetTab接口:



而不是getActiveSheet接口:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
nutstore
金牌服务用户   /  发表于:2023-10-30 18:08:53
7#
Joestar.Xu 发表于 2023-10-30 17:39
我将您这个JSON导入到Demo里面,当前Active的Sheet是TableSheet,对于这种情况,使用getActiveSheet接口是 ...

对啊 我知道要使用 getActiveSheetTab 去获取 TableSheet。但是我这里反应的是ts的声明问题,spreadjs的ts声明保证 getActiveSheet 接口返回的是 WorkSheet 而不是一个 WorkSheet | undefined 这样的联合类型。这样的声明确实会给使用ts的工程项目带来隐性的bug,因为我并不能知道此时加载的ssjson的activeSheet到底能不能按照声明的说法在不做空值检测的情况下获取到值
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-10-31 08:56:06
8#
明白您的意思了,我会将您这个需求反馈给研发那边,本帖先移至产品需求板块了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部