找回密码
 立即注册

QQ登录

只需一步,快速开始

billdwl
金牌服务用户   /  发表于:2023-12-4 10:15  /   查看:3487  /  回复:10
1金币
本帖最后由 Richard.Huang 于 2023-12-4 15:50 编辑

产品:SpreadJS
版本:V16.2.6
问题编号:SJS-21684

【场景】:初次加载sjs后(默认sheet页A),切换sheet页(记为B),随后重新加载sjs要求自动切换至sheet页B,出现闪屏情况。使用ssjson时没有问题,只有sjs才会出现。

【步骤】:结合git图例
1、加载sjs文件,默认sheet页为【主表】
2、手动点击切换至【减免税】
3、重新加载sjs文件
4、由于sjs文件初始sheet页为【主表】,所以使用setActiveSheet切换至【减免税】,出现闪屏情况,原ssjson没有这个问题
GIF.gif

11.ssjson

722.29 KB, 下载次数: 472

11.sjs

45.15 KB, 下载次数: 440

最佳答案

查看完整内容

最新调研结果:因为open方法加载sjs文件是一个异步的过程,他的设计目的是,为了避免sjs文件过大,导致页面长时间是空白,因此会强制先给用户渲染一次,等加载完毕后再执行您的回调方法中的逻辑,而ssjson文件对应的import方法是一个同步的过程,只有等加载完了数据后才会执行回调方法中的逻辑,不会在期间强制渲染一次。 因此这是本贴中提及的“闪屏”的原因,这是因为产品的设计致使。如果您对这个“闪屏”确实不太想出现,我 ...

10 个回复

倒序浏览
最佳答案
最佳答案
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-12-4 10:15:47
来自 5#
最新调研结果:因为open方法加载sjs文件是一个异步的过程,他的设计目的是,为了避免sjs文件过大,导致页面长时间是空白,因此会强制先给用户渲染一次,等加载完毕后再执行您的回调方法中的逻辑,而ssjson文件对应的import方法是一个同步的过程,只有等加载完了数据后才会执行回调方法中的逻辑,不会在期间强制渲染一次。

因此这是本贴中提及的“闪屏”的原因,这是因为产品的设计致使。如果您对这个“闪屏”确实不太想出现,我们只能使用导入ssjson的方法或者在加载sjs文件之前先给页面一个loading的页面遮罩层,等加载完毕后将页面遮罩层去掉来避免用户看到工作表切换的过程
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-12-4 11:22:44
2#
您好,“重新加载”意味着对页面的重新绘制,应该所有文件格式的加载都会出现程度不同的“闪屏”,而您所说的ssjson没有该问题目前不确定为什么,请问能否提供一份可供我们复现的demo,方便我们进行测试和比较,为您找到问题所在
回复 使用道具 举报
billdwl
金牌服务用户   /  发表于:2023-12-4 13:31:07
3#
Richard.Huang 发表于 2023-12-4 11:22
您好,“重新加载”意味着对页面的重新绘制,应该所有文件格式的加载都会出现程度不同的“闪屏”,而您所说 ...

对应sjs文件已上传
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-12-4 15:22:23
4#
本帖最后由 Richard.Huang 于 2023-12-4 15:50 编辑
billdwl 发表于 2023-12-4 13:31
对应sjs文件已上传

您好,收到您的文件了,且复现了您描述的问题,该问题的主要原因是因为,加载sjs文件的open方法会给人一个很明显的先显示“主表”再显示“减免税”的感觉,而ssjson的import方法没有该问题,即使加载顺序和逻辑一致,也不会给用户很明显的闪烁问题。该问题下来我们会进行进一步调研,后续如果有相关进展我会第一时间在本贴中进行回复。问题编号:SJS-21684
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-12-7 10:26:07
6#
您好,请问上述表述能够解决您的疑惑,如果仍存在相关疑问,欢迎继续跟帖询问
回复 使用道具 举报
billdwl
金牌服务用户   /  发表于:2023-12-7 16:10:42
7#
Richard.Huang 发表于 2023-12-5 17:36
最新调研结果:因为open方法加载sjs文件是一个异步的过程,他的设计目的是,为了避免sjs文件过大,导致页面 ...

请问什么时候可以加上这个loading页面遮罩层的功能,可以给个大概时间吗
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-12-7 16:26:50
8#
billdwl 发表于 2023-12-7 16:10
请问什么时候可以加上这个loading页面遮罩层的功能,可以给个大概时间吗

遮罩层的效果您可以自己实现,您可以参考这篇FAQ:https://demo.grapecity.com.cn/sp ... rs/add-loading-page
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-12-8 17:12:35
9#
您好,请问上述表述能够解决您的疑惑,如果仍存在相关疑问,欢迎继续跟帖询问
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-12-28 17:13:31
10#
由于您较长时间未回复,本贴就先结贴啦 ,有问题欢迎发新帖询问。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部