我們在開發小程式時,一個清單裡難免會有很多條資料,比如我們一個清單有1000條資料,我們一下加載出來,而不做分頁,将會嚴重影響性能。是以這一節,我們來講講小程式分頁加載資料的實作。
老規矩,先看效果圖
可以看到我們每頁顯示10條資料,當滑動到底部時,會加載第二頁的資料,再往下滑動,就加載第三頁的資料。由于我們一共21條資料,是以第三頁加載完以後,會有一個“已加載全部資料”的提示。
本節知識點
1,小程式分頁加載
2,小程式清單顯示
3,雲資料庫的使用
4,雲資料庫分頁請求資料的實作
一,先定義資料
我們做分頁資料加載,肯定要先準備好資料,資料已經給大家準備好,如下圖,文章末尾會貼出資料源和本節課源碼的下載下傳位址。
然後把資料導入到我們的雲開發的資料庫裡,關于資料如何導入,這裡不再講解,不知道的同學,請看下面這篇文章。或者去老師曆史文章裡找一下。
《小程式雲開發入門---雲資料庫資料源的導入與導出》
下面給大家看下我們的資料源,長什麼樣。其實很簡單,就是簡單的定義21條資料。
然後在看導入到資料庫的樣子。
二,分頁請求資料
我們第一步準備好了資料以後,接下來就來講講如何在js裡做分頁加載資料。
首先我們這裡用到了小程式雲開發資料庫的知識點
1,get方法:擷取雲資料庫資料
2,skip方法:跳過前面幾條資料,請求後面的資料
3,limit方法:請求多少條資料。
比如下面這段代碼,就是跳過前5條,請求從第6條開始往後的10條資料,就是請求6~15的資料,我們做分頁加載也就是基于這個原理。
下面把我們index.js的完整代碼貼給大家。
上面的代碼就是我們實作分頁加載的所有邏輯代碼。簡單說下代碼
1,我們首先進頁面時會請求前10條内容
2,10條内容請求成功以後,我們會把請求到的内容加入datalist數組,然後把datalist裡的資料顯示到頁面上。并将currentpage加一,用于請求第二頁資料。
3,當使用者滑動到底部時,會觸發onreachbottom事件,在這個事件裡做第二頁到請求。然後第二頁資料請求成功以後。繼續将currentpage加1,這裡要記住一定,一定要請求成功以後才将currentpage +1。
三,清單布局和樣式
其實index.wxml和index.wxss的代碼很簡單,給大家把代碼貼出來。
1,index.wxml
2,index.wxss
到這裡我們就完整的實作裡分頁加載功能了。
源碼已經給大家放到網盤裡了,有需要的同學請在文章底部留言,或者私信老師。