小程式觸底載入和下拉重新整理
阿新 • • 發佈:2022-03-09
準備:
//js頁面 data: { datalist:[], //接收資料 page:1, //作為引數 isBool:true //用於判斷是觸底載入還是下來重新整理 }, //請求 已簡單封裝過 async requestList(){ const url="url" let data={ page:this.data.page, //第幾頁 limit:10 //每次請求的資料量 一次10條 } let res=await api.get(url,data) //返回的資料 this.setData({ //isBool如果是true,則為觸底載入,會將datalist中的資料和重新請求的資料合併 //isBool如果是false,則為重新整理,給datalist重新賦值 datalist:this.data.isBool ? [...this.data.datalist,...res.data] : res.data }) }
開始寫觸底載入(上拉):
//js頁面
onReachBottom: function () {
console.log("上拉,就是觸底載入");
this.setData({
page:this.data.page + 1, //每次觸發事件,就讓page+1
isBottom:true //讓isBool為真,代表上拉
})
this.requestList() //最後重新重新整理請求
},
下拉(重新整理):
onPullDownRefresh():需要在app.json
的window
選項中或頁面配置中開啟enablePullDownRefresh
app.json:
"window": {
"backgroundTextStyle": "light", //下拉 loading 的樣式,預設為dark,
"enablePullDownRefresh":true //啟用下拉重新整理
},
//js頁面: onPullDownRefresh: function () { console.log('監聽使用者下拉,重新整理'); this.setData({ page:this.data.page + 1, isBool:false //用false代表重新整理 }) this.requestList() //重新請求 },
- 可以通過wx.startPullDownRefresh觸發下拉重新整理,呼叫後觸發下拉重新整理動畫,效果與使用者手動下拉重新整理一致。
- 當處理完資料重新整理後,wx.stopPullDownRefresh可以停止當前頁面的下拉重新整理。
--原創,轉載請說明哦!歡迎交流!( •̀ ω •́ )✧