阅读:6489回复:3
vue+element-ui 实现分页(根据el-table内容变换的分页)
设置layout,表示需要显示的内容,用逗号分隔,布局元素会依次显示。prev表示上一页,next为下一页,pager表示页码列表,除此以外还提供了jumper和total,size和特殊的布局符号->,->后的元素会靠右显示,jumper表示跳页元素,total表示显示页码总数,size用于设置每页显示的页码数量。
<template> <div id="app"> <el-table :data="tableData.slice((currentPage-1)*size,currentPage*size)" border 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-left:30%"> <!-- <span class="demonstration">完整功能</span> --> <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-sizes="[5, 10, 15, 20]" :page-size="size" layout="total, sizes, prev, pager, next, jumper" :total="tableData.length"> </el-pagination> </div> </div> </template> |
|
沙发#
发布于:2020-12-01 14:15
<script> export default { name: 'App', components: { // }, data() { return { currentPage:1, size:5, tableData: [ // 若干条数据 { date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-04', name: '王小虎', address: '上海市普陀区金沙江路 1517 弄' } ] } }, methods: { handleSizeChange(val) { // console.log(`每页 ${val} 条`); this.size = val }, handleCurrentChange(val) { // console.log(`当前页: ${val}`); this.currentPage = val } } } </script> |
|
板凳#
发布于:2020-12-01 14:15
所有的事件处理element已经做好,只需要将各个数据放在正确的位置;
最后,最关键的代码,要让表格显示几条,怎么显示。 使用数组的slice方法,截取数组,每次点击下一页实现翻页效果。 tableData.slice((currentPage-1)*size,currentPage*size) |
|
地板#
发布于:2020-12-01 14:15
|
|