美文网首页
小程序触底刷新和分页加载

小程序触底刷新和分页加载

作者: 绿啊绿啊绿刺猬 | 来源:发表于2018-08-30 16:52 被阅读1230次

    2018-08-30(自己悄咪咪加个日期)
    emmm....日期难道不是自动生成的嘛(算了还是自己加上好了,方便后面找~)
    果然小sb哎。。。
    好了好了先说正事,说完就可以吃月饼啦~(๑• . •๑)

    触底刷新就是在触底的时候执行一次分页加载的函数,页码+1。所以,先说分页加载啦。
    请求数据列表的时候,接口原本是写在onload里面,一次性请求所有。写了分页之后,假设一次加载10条,首先传参数给后台,比如page=1,加载出10条,触底的时候page+1,再传给后台,加载出接下来10条,把新返回的数组和之前的数组合并就可以,以此类推。

    var app=getApp();
    var getMore1 = function (that) {
      var page = that.data.page;//页码
      // 需求列表
      app.util.request({
        url: "entry/wxapp/DemandList",//这里是你的接口
        cachetime: "0",
        data: {
          page: page,
          type_id: that.data.type_id//这个不用管,是我传的筛选时候的参数,跟分页没关系
        },
        success: function (res) {
          if (res.data == '' && that.data.xuqiuArr!='') {
            wx.showToast({
              title: '没有更多数据!',
              icon: 'success',
              duration: 2000
            })
          }
          var arr = that.data.xuqiuArr//旧的数组
          for (var i = 0; i < res.data.length; i++) {
            arr.push(res.data[i])
          }
          that.setData({
            xuqiuArr: arr
          });
          page++;
          that.setData({
            page: page
          })
        }
    
      });
    };
    

    (上面的代码并没有写在page({ })里)
    注意,data里一定要有page和数组的初始值,否则会报错:

    /**
       * 页面的初始数据
       */
      data: {
        page:1,
        xuqiuArr:[]
      }
    

    如果页面是onshow的时候刷新的,记得要把数组清空,page初始化为1:

    onShow: function () {
        var that=this;
        that.setData({
          page:1,
          xuqiuArr:[]
        })
        getMore1(that)
      },
    

    然后在每次触底的时候调用getMore1()函数就行了:

    /**
       * 页面上拉触底事件的处理函数
       */
      onReachBottom: function () {
        var that=this;
          getMore1(that)
      },
    

    总结:看代码就行,文字大多是废话。。。主要是合并旧的数组和新的数组,然后记得页面刷新的时候及时清空数组和初始化页码就行。
    (PS:想想还是决定把自己写的东西都发布出去,毕竟我这样的小菜鸟闭门也是造不出车的。
    如果能有幸帮到哪位大兄弟或者小可爱那最好不过,有写的不对的地方请指正,一定及时改,有错望轻喷,蟹蟹 >﹏<)

    相关文章

      网友评论

          本文标题:小程序触底刷新和分页加载

          本文链接:https://www.haomeiwen.com/subject/jlqdwftx.html