???????基于el-table和el-pagination實現(xiàn)數(shù)據(jù)的分頁效果流程詳解
一、效果圖
二、方法
第一步,新建一個el-table,進行如下配置,
:data=>是用于動態(tài)json數(shù)據(jù)賦值給table,
:header-cell-style=>是設置表頭的樣式,
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>
到此這篇關于基于el-table和el-pagination實現(xiàn)數(shù)據(jù)的分頁效果流程詳解的文章就介紹到這了,更多相關el-table和el-pagination分頁內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
DOM_window對象屬性之--clipboardData對象操作代碼
clipboardData 對象提供了對于預定義的剪貼板格式的訪問,以便在編輯操作中使用。2011-02-02Javascript中扁平化數(shù)據(jù)結構與JSON樹形結構轉(zhuǎn)換詳解
之前朋友問過我一個問題,項目中遇到扁平化數(shù)據(jù)結構不知如何樹形化,下面這篇文章主要給大家介紹了關于Javascript中扁平化數(shù)據(jù)結構與JSON樹形結構轉(zhuǎn)換的相關資料,需要的朋友可以參考下2022-05-05Angularjs結合Bootstrap制作的一個TODO List
這篇文章主要介紹了Angularjs結合Bootstrap制作的一個TODO List 的相關資料,感興趣的小伙伴們可以參考一下2016-08-08