收藏
回答

下拉刷新,新数据如何插到列表头部

请教:

上拉加载没有问题,场景是顶部【下拉加载】


实现长列表下拉刷新,下拉后进行数据的请求;

为了性能优化,数据通过增量插入,

每次setdata通过键插入新数据,

实现二维数组只更新插入新增数据,

避免全量setdata


// data update to set

_this.setData({

...

[`listPullDown[${page}]`]: res.data

});


这种情况下数据如何将数据插入到list头部呢?


现在的解决方法是在view里通过reverse()将数组反转,


担心数据多了会有性能问题,

请教是否有更优处理方式?


3Q


最后一次编辑于  07-22  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

8 个回答

  • Killer Irving
    Killer Irving
    07-22

    数据库可以进行降序查询吧

    07-22
    赞同
    回复 1
    • David
      David
      07-22
      跟数据库无关了
      07-22
      赞同
      回复
  • 鲤子
    鲤子
    07-22

    可以看看这篇文章,学习下这种处理方式,用多维数组来做加载更多。

    https://developers.weixin.qq.com/community/develop/article/doc/0000645ae8cf882129c8b471951c13

    07-22
    赞同
    回复 2
    • David
      David
      07-22
      已经是拆块渲染,拆块渲染带来的问题就是【下拉加载】,数据从头部无法插入,因为setdata增量都是尾部插入
      07-22
      赞同
      回复
    • David
      David
      07-22
      上拉加载没有问题,场景是顶部【下拉加载】
      07-22
      赞同
      回复
  • 仙ღ₅₂₀¹³¹⁴
    仙ღ₅₂₀¹³¹⁴
    07-22

    顶部下拉刷新。往接口返回的数组里 unshift新的数据即可。

    07-22
    赞同
    回复 2
    • David
      David
      07-22
      避免全量setdata,当然就不能这么处理了 啊
      07-22
      赞同
      回复
    • 仙ღ₅₂₀¹³¹⁴
      仙ღ₅₂₀¹³¹⁴
      07-23
      只setData新数据即可。不用每次setData整个数组
      07-23
      赞同
      回复