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

二、方法
第一步,新建一個el-table,進行如下配置,
: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>第二步,新建一個el-pagination,
@size-change和@current-change=>處理頁碼大小和當前頁變動時候觸發(fā)的事件,
:current-page=>當前第幾頁
:page-sizes=>每頁顯示多少條數(shù)據(jù)的選擇項
: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'
}
]
}
}第四步,配置點擊事件
methods: {
// @size-change頁碼展示數(shù)量點擊事件
handleSizeChange (val) {
// 更新每頁展示數(shù)據(jù)size
this.pageSize = val
},
// @current-change頁碼點擊事件
handleCurrentChange (val) {
// 更新當前頁數(shù)是第幾頁
this.currentPage = val
}
}第五步,這時候現(xiàn)實的數(shù)據(jù)是全部顯示的,還需要實時修改顯示哪些數(shù)據(jù),修改el-table中的:table,如下即可。
:data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)"
到了這里就已經(jīng)成功實現(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ù)量點擊事件
handleSizeChange (val) {
// 更新每頁展示數(shù)據(jù)size
this.pageSize = val
},
// @current-change頁碼點擊事件
handleCurrentChange (val) {
// 更新當前頁數(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實現(xiàn)數(shù)據(jù)的分頁效果流程詳解的文章就介紹到這了,更多相關(guān)el-table和el-pagination分頁內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
DOM_window對象屬性之--clipboardData對象操作代碼
clipboardData 對象提供了對于預(yù)定義的剪貼板格式的訪問,以便在編輯操作中使用。2011-02-02
Javascript中扁平化數(shù)據(jù)結(jié)構(gòu)與JSON樹形結(jié)構(gòu)轉(zhuǎn)換詳解
之前朋友問過我一個問題,項目中遇到扁平化數(shù)據(jù)結(jié)構(gòu)不知如何樹形化,下面這篇文章主要給大家介紹了關(guān)于Javascript中扁平化數(shù)據(jù)結(jié)構(gòu)與JSON樹形結(jié)構(gòu)轉(zhuǎn)換的相關(guān)資料,需要的朋友可以參考下2022-05-05
Angularjs結(jié)合Bootstrap制作的一個TODO List
這篇文章主要介紹了Angularjs結(jié)合Bootstrap制作的一個TODO List 的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-08-08

