zoukankan      html  css  js  c++  java
  • 小程序列表页开发

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

    问题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

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

     

  • 相关阅读:
    (五)消费Dubbo服务
    (四)Dubbo Admin管理控制台
    (三)发布Dubbo服务
    (二)zookeeper安装
    (一)Dubbo简介
    解决tomcat 启动 一闪而过
    Redis的数据结构之哈希
    Redis的数据结构之字符串
    Jedis 连接池实例
    linux/centos定时任务cron
  • 原文地址:https://www.cnblogs.com/Deaseyy/p/13381189.html
Copyright © 2011-2022 走看看