???????基于el-table和el-pagination實(shí)現(xiàn)數(shù)據(jù)的分頁效果流程詳解
一、效果圖

二、方法
第一步,新建一個(gè)el-table,進(jìn)行如下配置,
:data=>是用于動態(tài)json數(shù)據(jù)賦值給table,
:header-cell-style=>是設(shè)置表頭的樣式,
stripe=>是讓table具有斑馬背景色,便于觀看。
<el-table :data="tableData"
:header-cell-style="{background:'#eaeaea'}" stripe>
<el-table-column prop="date" label="日期" width="140">
</el-table-column>
<el-table-column prop="name" label="姓名" width="120">
</el-table-column>
<el-table-column prop="job" label="職業(yè)" width="120">
</el-table-column>
<el-table-column prop="address" label="地址">
</el-table-column>
</el-table>第二步,新建一個(gè)el-pagination,
@size-change和@current-change=>處理頁碼大小和當(dāng)前頁變動時(shí)候觸發(fā)的事件,
:current-page=>當(dāng)前第幾頁
:page-sizes=>每頁顯示多少條數(shù)據(jù)的選擇項(xiàng)
:page-size=>每頁顯示多少條數(shù)據(jù)
layout=>頁碼布局(一下是完整版)
:total=>數(shù)據(jù)總數(shù)
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="tableData.length">
</el-pagination>第三步,配置展示的數(shù)據(jù)
data () {
return {
currentPage: 1,
pageSize: 10,
tableData: [
{
date: '2016-05-02',
name: '橘右京',
job: '刺客',
address: '上海市普陀區(qū)金沙江路 1518'
},
{
date: '2016-05-15',
name: '魯班大師',
job: '輔助',
address: '上海市普陀區(qū)金沙江路 1516'
}
]
}
}第四步,配置點(diǎn)擊事件
methods: {
// @size-change頁碼展示數(shù)量點(diǎn)擊事件
handleSizeChange (val) {
// 更新每頁展示數(shù)據(jù)size
this.pageSize = val
},
// @current-change頁碼點(diǎn)擊事件
handleCurrentChange (val) {
// 更新當(dāng)前頁數(shù)是第幾頁
this.currentPage = val
}
}第五步,這時(shí)候現(xiàn)實(shí)的數(shù)據(jù)是全部顯示的,還需要實(shí)時(shí)修改顯示哪些數(shù)據(jù),修改el-table中的:table,如下即可。
:data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)"
到了這里就已經(jīng)成功實(shí)現(xiàn)了,以下是完整代碼:
<template>
<div class="block">
<p>共<span style="color: #ffd04b">{{tableData.length}}</span>條數(shù)據(jù)</p>
<el-table :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)"
:header-cell-style="{background:'#eaeaea'}" stripe>
<el-table-column prop="date" label="日期" width="140">
</el-table-column>
<el-table-column prop="name" label="姓名" width="120">
</el-table-column>
<el-table-column prop="job" label="職業(yè)" width="120">
</el-table-column>
<el-table-column prop="address" label="地址">
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="tableData.length">
</el-pagination>
</div>
</template>
<script>
export default {
name: 'test2',
methods: {
// @size-change頁碼展示數(shù)量點(diǎn)擊事件
handleSizeChange (val) {
// 更新每頁展示數(shù)據(jù)size
this.pageSize = val
},
// @current-change頁碼點(diǎn)擊事件
handleCurrentChange (val) {
// 更新當(dāng)前頁數(shù)是第幾頁
this.currentPage = val
}
},
data () {
return {
currentPage: 1,
pageSize: 10,
tableData: [
{
date: '2016-05-02',
name: '橘右京',
job: '刺客',
address: '上海市普陀區(qū)金沙江路 1518'
},
{
date: '2016-05-03',
name: '娜可露露',
job: '刺客',
address: '上海市普陀區(qū)金沙江路 1517'
},
{
date: '2016-05-04',
name: '魯班七號',
job: '射手',
address: '上海市普陀區(qū)金沙江路 1519'
},
{
date: '2016-05-05',
name: '云中君',
job: '刺客',
address: '上海市普陀區(qū)金沙江路 1516'
},
{
date: '2016-05-06',
name: '干將莫邪',
job: '法師',
address: '上海市普陀區(qū)金沙江路 1516'
},
{
date: '2016-05-07',
name: '不知火舞',
job: '法師',
address: '上海市普陀區(qū)金沙江路 1516'
},
{
date: '2016-05-08',
name: '沈夢溪',
job: '法師',
address: '上海市普陀區(qū)金沙江路 1516'
},
{
date: '2016-05-09',
name: '百里守約',
job: '刺客',
address: '上海市普陀區(qū)金沙江路 1516'
},
{
date: '2016-05-10',
name: '馬可波羅',
job: '射手',
address: '上海市普陀區(qū)金沙江路 1516'
},
{
date: '2016-05-11',
name: '孫尚香',
job: '射手',
address: '上海市普陀區(qū)金沙江路 1516'
},
{
date: '2016-05-12',
name: '趙云',
job: '刺客',
address: '上海市普陀區(qū)金沙江路 1516'
},
{
date: '2016-05-13',
name: '鐘無艷',
job: '戰(zhàn)士',
address: '上海市普陀區(qū)金沙江路 1516'
},
{
date: '2016-05-14',
name: '楊玉環(huán)',
job: '法師',
address: '上海市普陀區(qū)金沙江路 1516'
},
{
date: '2016-05-15',
name: '魯班大師',
job: '輔助',
address: '上海市普陀區(qū)金沙江路 1516'
}
]
}
}
}
</script>到此這篇關(guān)于基于el-table和el-pagination實(shí)現(xiàn)數(shù)據(jù)的分頁效果流程詳解的文章就介紹到這了,更多相關(guān)el-table和el-pagination分頁內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
CocosCreator入門教程之網(wǎng)絡(luò)通信
這篇文章主要介紹了CocosCreator的網(wǎng)絡(luò)通信,內(nèi)容不多,涉及到的細(xì)節(jié),讀者可以根據(jù)實(shí)際情況,自己去延申2021-04-04
淺談JavaScript宏任務(wù)和微任務(wù)執(zhí)行順序
本文主要介紹了JavaScript宏任務(wù)和微任務(wù)執(zhí)行順序,結(jié)合實(shí)例代碼進(jìn)行了詳細(xì)的講解,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06
Javascript 實(shí)現(xiàn)全屏滾動實(shí)例代碼
這篇文章主要介紹了Javascript 實(shí)現(xiàn)全屏滾動實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-12-12
js 根據(jù)對象數(shù)組中的屬性進(jìn)行排序?qū)崿F(xiàn)代碼
這篇文章主要介紹了js 根據(jù)對象數(shù)組中的屬性進(jìn)行排序?qū)崿F(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
JavaScript瀏覽器對象模型BOM(BrowserObjectModel)實(shí)例詳解
這篇文章主要介紹了JavaScript瀏覽器對象模型BOM(BrowserObjectModel),結(jié)合實(shí)例形式較為詳細(xì)的分析了BOM模型的常用對象與相關(guān)使用技巧,需要的朋友可以參考下2016-11-11
詳解ES6 擴(kuò)展運(yùn)算符的使用與注意事項(xiàng)
擴(kuò)展運(yùn)算符 (spread syntax) 是 ES6 提供的一種非常便捷的新語法,給我們操作數(shù)組和對象帶來了非常大的便利,我在很多文章中也提到了這個(gè)語法。但是其實(shí)擴(kuò)展運(yùn)算符的用法還是比較多比較雜的,我用一篇文章來做一下總結(jié),梳理一下擴(kuò)展運(yùn)算的語法和使用細(xì)節(jié)。2020-11-11

