收藏
回答

setData() 要设置超过 1M后页面后白屏了,如何解决?

当 setData() 要设置超过 1M 的数据时怎么办?

回答关注问题邀请回答
收藏

4 个回答

  • tom123
    tom123
    06-13

    你们没理解楼主的问题。

    他不是没分页,而是分页加载到后面多页之后,累计的数组超出1M

    加载下一页后,新页的数据也要同前面页数合并后一起setData,微信并没有提增量增加数组的方法。

    解决这种可以使用虚拟列表,前面页数只渲染一个空白的view元素,设置好view高度等于前面记录数乘以每行高度。类似这样

    <view style="height:{{eachHeight * beforeRowCount}}px"></view>

    <view wx:for="{{list}}">....

    06-13
    有用
    回复 1
    • Lofan
      Lofan
      11-14
      那是不是要监听滚动条的位置,不然划到上一页怎么办?
      11-14
      回复
  • 风清雾云开见日出
    风清雾云开见日出
    05-14

    做个分页不就行了,手机屏幕多大,就显示多大的数据,除非是你想在手机屏幕范围内显示1MB的数据

    05-14
    有用
    回复
  • hello world
    hello world
    05-13

      1. 渲染部层面可以考虑使用虚拟渲染,解决白屏的问题

      2. 数据层面使用两层数组,解决setData太大的问题

    05-13
    有用
    回复
  • Mr.Zhao
    Mr.Zhao
    发表于小程序端
    05-13

    什么东西需要1Mb?

    05-13
    有用
    回复 9
    • www
      www
      05-13
      数据呀,每次获取新的一页,都要重新setData新的数组
      05-13
      回复
    • 图图
      图图
      05-13回复www
      啊?
      05-13
      回复
    • www
      www
      05-13回复图图
      公司数据量太多了
      05-13
      回复
    • Mr.Zhao
      Mr.Zhao
      发表于小程序端
      05-13回复www

      一屏幕能展示完?不能就懒加载,分屏加载。我还不知道是数据

      05-13
      回复
    • www
      www
      05-13回复Mr.Zhao
      就类似于企查查那种,这个限制好像就微信有 支付宝就没事
      05-13
      回复
    查看更多(4)
登录 后发表内容