ant-design-vue純前端分頁


由於項目需求需要采取前端分頁方式,最后找到解決方式

<a-table
        size="default"
        bordered
        :columns="columns"
        :dataSource="dataSource"
        :loading="loading"
        :pagination="false"
      >
     ...此處省略部分代碼
</a-table>
<a-pagination
        size="middle"
        v-model="current"
        :pageSize="pageSize"
        @change="pageNumberChange"
        @showSizeChange="sizeChange"
        :pageSizeOptions="sizeList"
        :total="total"
        showSizeChanger
        showQuickJumper
/>

data中定義

sizeList: ['5','10', '20', '30'], //一頁能顯示條數
pageSize: 10, //當前頁顯示多少條
current: 1, //當前頁
total: 0, //總條數,在獲取后台數據時將數組的length賦值給total

分頁操作

//分頁頁數的改變
pageNumberChange(current, size) {
     this.current = current;
     this.pageSize = size;
     this.dataSource = this.getShowSource();
},
 //  分頁顯示條數的變化
sizeChange(current, size) {
     this.current = current;
     this.pageSize = size;
     this.dataSource = this.getShowSource();
},
//實現分頁效果
getShowSource() {
     var keyValue = 0;
     var data = this.showSource;//后端返回的全部數據
     for (var i = 0; i < data.length; i++) {
       keyValue = keyValue + 1;
       let key = { key: keyValue };
       data[i] = Object.assign(data[i], key);
     }
     var start = this.pageSize * this.current - this.pageSize;
     var end = this.pageSize * this.current;
     return data.slice(start, end);
},


免責聲明!

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



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