關於element組件中分頁的一些個人思路


最近在用element,用到了它的分頁這個組件,我這邊的情況是,我前端請求數據,數據大概有20個的樣子,把數據存在data的一個數組里面,用一個v-for循環遍歷數組內容,並用div裝起來,這樣20個數據就從上往下排列了出來,但是我想使用分頁,一個分頁只顯示5個數據,那么就有4頁,這個效果怎么做到呢?

我本人也是思考了一下,主要用到里面的兩個屬性一個方法,屬性是

:page-size="5"
:total="sites[0].allPages">

sites是后台返回的json數據,且后台在數組下標為0返回的是我的一個總長度,也就是20,我這邊循環是用了數組的一個slice方法讓其從1開始循環,element會自動根據你的size和total生成總的

頁數,先貼我的代碼

handleCurrentChange(val) {
var that =this;
$.ajax({
url: 'http://113.250.159.232:8081/Title/PrePages',
type: 'post',
contentType:'application/json;charset=UTF-8',
dataType: 'json',
data:JSON.stringify(val),
success: function (data) {
var json =data;
that.sites=json;
that.number=val;





},
error: function (data) {
console.log(data);
}
});

},

這里這個方法是當你頁數變化時,也就是你點1,2,3,4頁時執行的函數,里面的參數val是你當前點擊哪個頁數的數字,我的思路是我在頁數變化時發送一個ajax給后台,並把val值傳給后台

后台根據val值判斷傳回來的數據是哪些,但是一個bug出來了,就是這個函數是必須你點擊頁面角標變化時才執行,也就是我一開始頁面加載完后我什么都看不到,但是我點到第二頁后,數據便出來了,這個時候可以在mounted函數中一個ajax請求,並傳一個數字1,因為點到第二頁才生效,第一頁相當於后台沒有得到傳過去的數據,所以沒做處理,因為我在頁面加載完后自動是第一頁,那么我把1傳給后台,后台再響應並傳回原本屬於1的數據,這樣就完成了。但是性能方面還沒有考慮,需要在后面測試的時候才知道,這也只是我本人的一個思路,希望有更好的辦法的同學多多幫幫我呀哈哈哈


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM