微信小程序之下拉加载

2020-12-15 11:33发布

因为下拉加载这个功能 估计很多页面都需要 所以最好的做法就是直接封装起来 随调随用
在写一个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 })
   })
 },12345678910111213141516171819202122232425262728293031323334

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
}


作者:前端阿龙

链接:https://blog.csdn.net/weixin_42790916/article/details/83016490

来源:CSDN
著作权归作者所有,转载请联系作者获得授权,切勿私自转载。