上拉加载分页

在页面初次渲染的时候第一次加载数据,下拉触底事件首先进行判断所有数据是否已经加载完毕,如果加载完毕直接return出去,不在执行请求操作,在下拉触底事件里面获取上一次请求数据最后一个动态的eid, 然后通过传参eid调用接口获取下拉要加载的数据,将新加载进来的数据(receivedEvents)concat到页面当前数据currentEvents,如果新加载的数据是一个空数组,则所有数据已经加载完毕,不在向下执行。

//下拉触底事件
onReachBottom: function () {
    let that=this;
    if (that.data.eventloadingComplete===1){
        return;
    }
      that.getPageData(that.data.event[that.data.event.length - 1].eid)
  },

//获取动态分页
  getPageData:function(eid){
    let that=this;
    wx.request({
      url: `${host}/YinianProject/story/getGroupPiclist`,
      data: {
        eid: eid||"null"
      },
      method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
      // header: {}, // 设置请求的 header
      success: function (res) {
        if (res.data.code === 0) {
          wx.hideLoading();
           if(eid!="null"){
            // 如果新收到的动态是一个空数组,则所有动态已全部加载,不再往下执行
              if (receivedEvents.length === 0) {
                    that.setData({
                  eventLoadComplete: 1
                })
                return;
              }
            that.setData({
              currentEvents: that.data.currentEvents.concat(receivedEvents),
             
            })
          }else{

            that.setData({
              currentEvents: receivedEvents,
            
            })
          }
        }
      },
      fail: function (res) {

      }
    })
  },

 

展开阅读全文

没有更多推荐了,返回首页