小程序触底刷新详细版

首先要做触底刷新,就需要后端做分页或者前端自己做分页,但是一般都是后端做

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {}//小程序自带的触底刷新生命周期函数
  需要现在pgae里设置好num页数
  Page({
  /**
   * 页面的初始数据
   */
  data: { num:1,},
)},

然后再小程序自带的触底刷新的生命周期里设置请求
  onReachBottom: function () {
    let getDAy = this.data.getDAy;//这里是开始请求的时间或者筛选请求的时间
    let getday = this.data.getday//这里是开始请求的时间或者筛选请求的时间
    let aa = this.data.num++//页数
    let types = this.data.type//请求的类型,如果你们后端传递的参数不需要tyope类型区别就不用传
    row就是要一次性请求多少条数据
    let hpsnoa = JSON.stringify({page:aa,rows:15,timeDate:getDAy,timeDateDateEnd:getday,appointmentType:types})  //获取上一次请求的日期
    这里传上一次的时间原因是什么?
    是为了假设你筛选了一年的时间,那么你就需要去1年的时间里请求关键词的数据,或者加载一年数据里面的剩下数据
    console.log(hpsnoa);
    toDFLList(hpsnoa).then(res => {
      // 判断触底时返回的数据为空时表示到底
      if(res.data.rows.length == 0){
        console.log(22);
        Toast.fail("已经到底了");
      }else{
        if(res.data.rows !== "[]" ){
          if(res.data.rows){
           var basjh = res.data.rows
           var recordset = [...this.data.pregnant,...basjh]//将触底加载的数据与上一次数据进行合并,这里上一次的数据需要放在前面,新的数据放在后面,合并顺序反了就会导致,新的数据在上面,而不是在下面
            this.setData({
              pregnant:recordset
            })
          }
         }else if(res.data.rows =="[]"){
           console.log(11);
           Toast.fail("数据为空");
           return
         }
      }
     
    })
  },

新建了个群,欢迎大家一起进群讨论459358760

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值