vue+elementUI組件table實現(xiàn)前端分頁功能
前端分頁和后端分頁就是請求的差異,前端分頁的話只請求一次,所以要在render table組件的時候控制下數(shù)據(jù)
:data="tableData.slice((currentPage-1)*pageSize,currentPage*pageSize)" //不多解釋
再就是設(shè)置分頁器total等于table數(shù)據(jù)的長度
:total="tableData.length"
點擊分頁器的操作
methods: {
handleSizeChange(val) {
console.log(`每頁 ${val} 條`);
this.currentPage = 1;
this.pageSize = val;
},
handleCurrentChange(val) {
console.log(`當(dāng)前頁: ${val}`);
this.currentPage = val;
}
}
千言萬語不如上個demo~
<template>
<div>
<el-table :data="tableData.slice((currentPage-1)*pageSize,currentPage*pageSize)" style="width: 100%">
<el-table-column prop="date" label="日期" width="180">
</el-table-column>
<el-table-column prop="name" label="姓名" width="180">
</el-table-column>
<el-table-column prop="address" label="地址">
</el-table-column>
</el-table>
<!-- 分頁器 -->
<div class="block" style="margin-top:15px;">
<el-pagination align='center' @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-sizes="[1,5,10,20]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="tableData.length">
</el-pagination>
</div>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [
{
date: "2016-05-02",
name: "王小虎",
address: "上海市普陀區(qū)金沙江路 1518 弄"
},
{
date: "2016-05-04",
name: "王小虎",
address: "上海市普陀區(qū)金沙江路 1517 弄"
},
{
date: "2016-05-01",
name: "王小虎",
address: "上海市普陀區(qū)金沙江路 1519 弄"
},
{
date: "2016-05-03",
name: "王小虎",
address: "上海市普陀區(qū)金沙江路 1516 弄"
}
],
currentPage: 1, // 當(dāng)前頁碼
total: 20, // 總條數(shù)
pageSize: 1 // 每頁的數(shù)據(jù)條數(shù)
};
},
methods: {
handleSizeChange(val) {
console.log(`每頁 ${val} 條`);
this.currentPage = 1;
this.pageSize = val;
},
handleCurrentChange(val) {
console.log(`當(dāng)前頁: ${val}`);
this.currentPage = val;
}
}
};
</script>
關(guān)于vue.js組件的教程,請大家點擊專題vue.js組件學(xué)習(xí)教程進行學(xué)習(xí)。
更多vue學(xué)習(xí)教程請閱讀專題《vue實戰(zhàn)教程》
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Vue對Element中的el-tag添加@click事件無效的解決
本文主要介紹了Vue對Element中的el-tag添加@click事件無效的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
vant?Cascader級聯(lián)選擇實現(xiàn)可以選擇任意一層級
這篇文章主要介紹了vant?Cascader級聯(lián)選擇實現(xiàn)可以選擇任意一層級方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07
vue中el-table和jsplumb實現(xiàn)連線功能
本文主要介紹了el-table和jsplumb實現(xiàn)連線功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
Vue MVVM模型與data及methods屬性超詳細(xì)講解
MVVM旨在利用WPF中的數(shù)據(jù)綁定函數(shù),通過從視圖層中幾乎刪除所有GUI代碼(代碼隱藏),更好地促進視圖層開發(fā)與模式其余部分的分離,這篇文章主要介紹了Vue MVVM模型與data及methods屬性2022-10-10

