<el-table>和<el-pagination>实现分页功能
代码如下:
<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>
<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>
所有的事件处理element已经做好,只需要将各个数据放在正确的位置;
最后,最关键的代码,要让表格显示几条,怎么显示。
使用数组的slice方法,截取数组,每次点击下一页实现翻页效果。
tableData.slice((currentPage-1)*size,currentPage*size)