<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)