收藏
回答

使用wx.switchTab跳转后空白,setData过多?

(正常的页面)

背景:用户反馈第一次打开小程序白屏,使用模拟器清除缓存后刷新偶尔出现这种问题,大概刷十次出现一次

switchTab跳转后,页面接口正常请求,log也是输出正常也没影响页面渲染的报错。AppData能看到接口请求回来的数据,但dom是空的,完全空白。有无大佬解决过类似的问题,请指教。

目前考虑是setData过多导致的白屏

最后一次编辑于  03-06
回答关注问题邀请回答
收藏

3 个回答

  • xac
    xac
    03-06

    setData有大小限制的 你的问题大概率是渲染的内容太多了 如果后端返回的数据量很大 并且没有分页的话 你可以考虑自己在前端做个分页

    03-06
    有用
    回复
  • 那一抹笑😃 穿透阳光
    那一抹笑😃 穿透阳光
    03-06

    你这个一次渲染的数据太恐怖了,你应该拆一下

    03-06
    有用
    回复 8
    • kabu
      kabu
      03-06
      这个页面是主业务,十几个接口,很多数据渲染出来的,你说的拆一下是指?
      03-06
      回复
    • 那一抹笑😃 穿透阳光
      那一抹笑😃 穿透阳光
      03-06回复kabu
      你十几个接口,是同时请求的数据吗
      03-06
      回复
    • kabu
      kabu
      03-06回复那一抹笑😃 穿透阳光
      请求数据有先后顺序的,请求回来后setData,再拿这个数据去请求其它接口然后在setData,如此下来十几个接口,相互依赖的,而且要做数据过滤等复杂操作。平时使用正常,最近又加了一些功能后就出现了白屏了
      03-06
      回复
    • 那一抹笑😃 穿透阳光
      那一抹笑😃 穿透阳光
      03-06回复kabu
      你第二章图片上面,一百多条数据,是一次setData到页面上的吗
      03-06
      回复
    • 那一抹笑😃 穿透阳光
      那一抹笑😃 穿透阳光
      03-06
      住要是看不到你的代码,也不好给出其他意见
      03-06
      回复
    查看更多(3)
  • 风清雾云开见日出
    风清雾云开见日出
    03-06

    setData渲染参数过多也会出现白屏,你可以做分页显示或者初始化显示部分内容,点击更多才显示后面的内容;

    比如:一开始显示10行,最下方有个更多显示按钮,点击更多,再显示10条,以此类推

    03-06
    有用
    回复 2
    • kabu
      kabu
      03-06
      从需求上不支持这种解决方法,现在尝试使用nextTick包裹setData看是否可行
      03-06
      回复
    • 风清雾云开见日出
      风清雾云开见日出
      03-06回复kabu
      那就是你的setdata数据太大,渲染太频繁,你可以使用缓存来过滤数据,最后过滤后要显示的数据才用setdata
      03-06
      回复
登录 后发表内容