找回密码
 立即注册

QQ登录

只需一步,快速开始

billdwl
金牌服务用户   /  发表于:2024-10-17 09:10  /   查看:242  /  回复:3

前端葡萄城版本16.2
ssjson表样的版本17.1.7
复现率低,一个人测试一下午出现2次。


(1)报错提示如下
image.png134716796.png
(2)根据提示,索引到文件的位置948行,也就是监控sheet切换的事件中tag方法



image.png443004149.png



代码如下:

    // 工作簿json数据改变
    useEffect(() => {
      const spread = _spread;
      if (Object.keys(spread).length !== 0 && Object.keys(tableData).length !== 0) {
        spread.suspendPaint();
        
        spread.unbindAll(); // 解绑所有事件
        spread.fromJSON(tableData);
   
      
        // 切换sheet
        spread.bind(spreadNS.Events.ActiveSheetChanged, (e, args) => {
          console.log('args.newSheet.tag()--------->: ', args.newSheet.tag());
          setSheetTag(args.newSheet.tag());
          localStorage.setItem('activeSheet', args.newSheet.tag());  // 这一行报错---
        });
  
        spread.resumePaint();
      }
    }, [tableData]);



image.png988096313.png

error.ssjson

3.84 MB, 下载次数: 1

异常ssjson,但是我觉得这个问题跟json文件没啥太大关系

3 个回复

倒序浏览
Wilson.Zhang
超级版主   /  发表于:2024-10-17 11:13:17
沙发
您好!我们在17.1.7版本和16.1.2版本都使用您提供的ssjson文件测试了多次,未能复现问题。

从您提供的信息中,了解到在第946行使用了与第948行报错代码一样的的调用代码,如下图所示。由于您未提及第946行是否报错,所以需要确认下在第946行是否也有报错呢?
1729134685772.png466509398.png

如果第946行代码未报错,且打印出了正确的内容,那么,可以在第一次调用args.newSheet.tag()时将该结果保存至变量,后续代码中通过访问变量使用相应内容。

如您所言,该现象偶现,且根据您的描述,问题是低频偶现型。您可以先尝试下上述方案,看看问题是否还会复现。

回复 使用道具 举报
billdwl
金牌服务用户   /  发表于:2024-10-17 15:10:19
板凳
OK,谢谢
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-17 16:01:52
地板

不客气!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部