码迷,mamicode.com
首页 > 微信 > 详细

小程序列表页开发

时间:2020-07-26 19:44:28      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:情况下   倒序   Nid   开头   思路   单点   str   最小   会展   

在一些情况下,小程序列表页不适合使用翻页获取数据展示,拿发贴子的例子来说:

问题1:页面上拉获取更多数据时,可能出现数据重复

假如数据库有50条数据,第一次进来取最新的10条展示,然后此时别人新发了2条贴子,

那你再去上拉获取第二页,会再次取到上次10条里的最后2条,因为此时这2条已经成了第二页开头的两条记录,那么页面就会展示重复的两条记录;

 

问题2:页面上拉获取更多数据时,新旧数据展示顺序可能发生错乱

还是拿上个例子来说,如果第一次进来取了最新的10条展示,在你上拉前,此时别人已经发了100条贴子,那你再去上拉加载第二页,得到的就是最新100条里的第11到20条,那么发表时间更新的数据将会展示在历史数据后面(不符合逻辑,应该最上面展示最新的数据)

 

解决办法思路

我们列表页一般都是倒序显示

1.刚进入页面,获取前10条,并将最大的id和最小的id保存起来

  • maxid (用于下拉刷新)

  • minid (用于上拉加载更多)

2.假如上拉加载,将minid传到后台,获取id小于minid的最前10条,追加到原来10条后

  • 并将minid更新为当前10条的最小id

3.假如下拉刷新,将maxid传到后台,获取id大于maxid的所有数据,插入到原来10条前

  • 并将maxid更新为当前的最大id

4.对于下拉刷新,假如短时间就会产生大量数据,那么就不便将新数据全部取回来,可以简单点

  • 直接取最新的10条记录,覆盖页面数据展示即可,更新最小minid

  • 再通过上拉去加载新数据

 

 

小程序列表页开发

标签:情况下   倒序   Nid   开头   思路   单点   str   最小   会展   

原文地址:https://www.cnblogs.com/Deaseyy/p/13381189.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!