微信小程序之下拉加载

因为下拉加载这个功能 估计很多页面都需要 所以最好的做法就是直接封装起来 随调随用
在写一个es6的简便的赋值语句
let{bianling1,bianliang2}=this.data
前提是data中有变量一 变量二 这个用法可用于验证表单填写的有没有空值 还可以用于别的地方

 loadMore() {
    // page是关注页面的当前页,pagesize每页的条数  
    let { page, pagesize } = this.data
    //这一条是与下面的setStorageSync做对照以免重复加载相同的数据
    let pagss = wx.getStorageSync('page')
    const params1 = { page: page++, pagesize: pagesize }
    if (page == pagss){
      return false
    }
    console.log(page)
    wx.setStorageSync('page', page)
    这个是请求的地址
    const paging = this.data.paging
    let that = this

    console.log(params1, paging)
    if (!this.data.hasMore1) return
    //这个是之前封装好的方法具体代码在最下方
    return fetch.PostRequest(paging, params1, res => {
      console.log(res);
      let notesuserInfo = res.data.data
      下拉加载第一次就是显示的数据 第二次才会加载
      if (params1.page > 1) {
        notesuserInfo = that.data.notesuserInfo.concat(res.data.data)
      }
      设置的加载的次数*加载的条数小于想要的数字就可以到这个值的时候不再请求了
      const totalCount = parseInt('15')
      const hasMore1 = page * pagesize < totalCount
      if (hasMore1 == false) {
        return false
      }
      that.setData({ notesuserInfo, page, hasMore1 })
    })
  },

var app = getApp();

function PostRequest(url, data, success, fail) {
// console.log(wx.getStorageSync(‘account’))
// console.log(wx.getStorageSync(‘token’))
// wx.getStorage({ key: ‘token’})

wx.request({
url: app.globalData.urls + url,
method: “POST”,
header: {
“content-type”: “application/x-www-form-urlencoded”,
‘content-type’: ‘application/json’, // 默认值
account: wx.getStorageSync(‘account’),
token: wx.getStorageSync(‘token’)
// ‘user_id’: wx.getStorageSync(‘user_id’)
},
data: data,
success(res) {
success(res);
},
fail(res) {
fail(res);
}
});
}
module.exports = {
PostRequest: PostRequest
}

猜你喜欢

转载自blog.csdn.net/weixin_42790916/article/details/83016490