1. 程式人生 > 其它 >小程式觸底載入和下拉重新整理

小程式觸底載入和下拉重新整理

 準備:

//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可以停止當前頁面的下拉重新整理。

--原創,轉載請說明哦!歡迎交流!( •̀ ω •́ )✧