找回密码
 立即注册

QQ登录

只需一步,快速开始

zhongww

注册会员

7

主题

17

帖子

102

积分

注册会员

积分
102
zhongww
注册会员   /  发表于:2020-12-8 15:45  /   查看:3313  /  回复:5
1金币
参考了这个帖子,https://gcdn.grapecity.com.cn/showtopic-37701-1-1.html

1.我学会了用 flexs.invalidate()或者collectionView.refresh(false)的方式在tab切换回来时重新刷新表格。
2.但是我做的功能每个tab页中都有下载功能,下载完成后,谷歌浏览器底部会有个下载文件列表面板,当面板存在的时候,tab页怎么切换都不生效,哪怕调用了上面两个方式。
3.将下载面板关掉后,哪怕不在当前的tab页,表格显示也没问题


5 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-12-8 16:38:43
沙发
您好,能否提供一个能够重现问题的Demo?我们的猜测是因为tab切换的时候是异步渲染的,您可能需要设置合适的回调函数,在完成渲染后再执行FlexGrid的刷新操作
回复 使用道具 举报
zhongww
注册会员   /  发表于:2020-12-8 16:46:56
板凳
KevinChen 发表于 2020-12-8 16:38
您好,能否提供一个能够重现问题的Demo?我们的猜测是因为tab切换的时候是异步渲染的,您可能需要设置合适 ...

还得整理整理才能整理出demo,数据都渲染好了,不存在请求了,就是点击了下载,谷歌浏览器地下出了下载面板,这时候切换到别的tab表格就渲染失败了
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-12-8 17:39:48
地板
zhongww 发表于 2020-12-8 16:46
还得整理整理才能整理出demo,数据都渲染好了,不存在请求了,就是点击了下载,谷歌浏览器地下出了下载面 ...

我们的猜测是您的UI元素会随着页面尺寸的变化而变化,比如当底部出现下载bar时,flexgrid所在的div本身尺寸发生了变化(F12看dom元素的状态可以观察到这个变化)。
这时可以通过监听flexgrid所在div的resize事件,事件回调中调用flexGrid的刷新方法应该可以解决问题。
回复 使用道具 举报
zhongww
注册会员   /  发表于:2020-12-10 15:50:32
5#
KevinChen 发表于 2020-12-8 17:39
我们的猜测是您的UI元素会随着页面尺寸的变化而变化,比如当底部出现下载bar时,flexgrid所在的div本身尺 ...

感谢,是我实例化的问题,多个tab页有多个实例,但是永远都在刷最新那个
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-12-10 17:28:00
6#
感谢反馈,本贴结帖了,有新的问题欢迎发新帖交流~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部