找回密码
 立即注册

QQ登录

只需一步,快速开始

360bid

中级会员

87

主题

268

帖子

825

积分

中级会员

积分
825
360bid
中级会员   /  发表于:2021-7-14 12:54  /   查看:2864  /  回复:3
本帖最后由 Richard.Ma 于 2021-8-2 10:18 编辑

浏览器调整到手机模式时,设置setActiveSheet没有效果,浏览器切回到正常就有效果

下图是正常模式
image.png361581725.png

下图是手机模式
image.png219220885.png

我试过加setTimeout是可以的,但是这不是好的解决办法

demo.zip

1.18 MB, 下载次数: 139

3 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-14 13:55:59
沙发
问题已收到,这边需要调研一下,此贴先为您改为保留处理(SJS-9298),有进展会在本帖更新。
回复 使用道具 举报
360bid
中级会员   /  发表于:2021-7-29 09:44:12
板凳
您好这个问题有新的进展了吗
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-29 09:53:26
地板
360bid 发表于 2021-7-29 09:44
您好这个问题有新的进展了吗

您好,经过调研,在内部,我们为移动设备设置了计时器,以避免ipad上的浏览器崩溃(应该是iPad的bug),或者可以说是一个限制。这边给您提供两个workaround。1、就是您描述的设置计时器
  1. excelIo.open(excelFile, function (json) {
  2.     spread.fromJSON(json);
  3.     setTimeout(function(){
  4.         spread.setActiveSheet('TAB.数据录入')
  5.     },300);
  6. }, function (e) {
  7.     console.log(e)
  8. });
复制代码
2、用下面的方式设置活动表单
  1. xcelIo.open(excelFile, function (json) {
  2.     json.activeSheetIndex = json.sheets['TAB.数据录入'].index;
  3.     for(sheet in json.sheets){
  4.         if(json.sheets[sheet].index!==json.activeSheetIndex){
  5.             json.sheets[sheet].isSelected = false
  6.         }
  7.     }
  8.     spread.fromJSON(json);
  9. }, function (e) {
  10.     console.log(e)
  11. });
复制代码


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