小程序实现分页效果

方法一

首先说明小程序的两个事件

<1>页面相关事件处理函数–监听用户下拉动作

onPullDownRefresh: function () { },

<2>页面上拉触底事件的处理函数

onReachBottom: function () { },

监听用户下拉动作

onPullDownRefresh: function () {
  console.log('下拉刷新…');
  wx.showNavigationBarLoading() //在标题栏中显示加载
  this.data.pageNo = 1
  // 刷新并初始化数据
  this.getdata();
  //延时处理数据
  setTimeout(() => {
   //关闭加载  wx.hideNavigationBarLoading(); wx.stopPullDownRefresh(); },
1000); },

监听上拉触底动作

onReachBottom: function () {
    //上拉分页,将页码加1,然后调用分页函数loadRoom()
    var that = this;
    var pageNo = that.data.pageNo;
    that.setData({
      pageNo: ++pageNo
    });
    wx.showToast({
        title: '加载中..',
        icon: 'loading'
      }),
      setTimeout(function () {
        that.loaddata();
      }, 1000)
  },

注意:

项目需求如果上拉触底是在原有数据基础上,在数据集合后面继续追加数据,可以在数据加载的接口中这样写

if (i.state == 200) {
        console.log(i.data)
        //这个地方判断当前pageNo是否已经大于1
        if (that.data.pageNo > 1) {
          //定义一个aa变量,将之前的数据赋值给aa      
          let aa = that.data.mydata
          //通过循环继续往aa里追加数据  
          for (let index = 0; index < i.data.length; index++) {
            const element = i.data[index];
            aa.push(element)
          }
          that.setData({ mydata: aa})
        } else if (that.data.pageNo == 1) {
          let aa = [];
          for (let index = 0; index < i.data.length; index++) {
            const element = i.data[index];
            aa.push(element)
          }
          that.setData({mydata: aa})
        }
        console.log(that.data.mydata)
} else {
   wx.showToast({
     title: i.data.msg,
     icon: 'none'
   })
}

 

posted @ 2020-12-11 10:44  打工人001  阅读(610)  评论(0编辑  收藏  举报