[微信小程序]列表頁下滑刷新機制

小程序列表頁下滑刷新機制

在調用API時,要注意一點,如果要渲染一個列表的話,如果直接返回所有項,既浪費時間又浪費資源,因爲作爲使用者來說,可能並不需要得到所有的列表項,可能在第一頁或者前幾頁就拿到自己想要的,所以,後臺一般會將數據按頁面分組,前端在調用時傳入頁面值,即返回當前頁面列表項,並在下滑頁面時繼續加載下面的頁面,大大增加了效率,如何做到在下滑頁面時動態加載餘下的頁面,要用到onReachBottom()這個函數

示例:

  data = {
    List: '',
    page_index: 1
  }

  onShow() {
    Api.listTips({
        page_index: this.page_index
        //向後臺傳入頁面索引值,後臺返回相應頁面列表
      })
      .then(res => {
        if (res.data.length > 0) {
        //判斷是否還有數據傳入
          var result = res.data;
          var List = this.List;
          if (List.length == 0) {
            List = result;
            //第一次獲取數據
          } else {
            List = List.concat(result);
            //將後面獲取的數據與之前的數據進行合併
          }
          this.page_index = this.page_index + 1;
          //將頁面索引+1
          this.List = List;
          //數據綁定
          this.$apply();
        }
      })
  }

  onReachBottom() {
    this.onShow();
  }

以上函數的原理是每次執行onShow()函數時,在調用API後將page_index+1,在下滑觸底的時運行onReachBottom()函數,重新執行onShow()函數渲染頁面,在onShow()函數裏面繼續調用API,這時候傳入的數據已經下一頁的索引值,最後當沒有數據再傳過來時,終止調用API。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章