如何在 Element UI 中的数据表中使用分页?

How to use pagination in a datatable in Element UI?

我只是想知道 el-table 组件中没有用于分页的内置功能。

有一个单独的 pagination 组件,但没有说明如何将它与 el-table 结合使用。我想不通,我很困惑。

谁能给出一个简短明了的例子,说明如何组合它们?

我创建了一个小示例,在这种情况下,所有数据都已经在前端,但在实际情况下,您可能会调用某些后端服务,所以如果您想应用类似排序你必须自己在后端服务中完成

祝你好运。

HTML:

<script src="//unpkg.com/vue/dist/vue.js"></script>
<script src="//unpkg.com/element-ui@2.13.0/lib/index.js"></script>
<div id="app">
<template>
    <el-table :data="pagedTableData" style="width: 100%">
      <el-table-column prop="date" label="Date" width="180"></el-table-column>
      <el-table-column prop="name" label="Name" width="180"></el-table-column>
      <el-table-column prop="address" label="Address"></el-table-column>
    </el-table>
    <el-pagination layout="prev, pager, next" :total="this.tableData.length" @current-change="setPage">
  </el-pagination>
  </template>
</div>

JS:

var Main = {
    created() {
      for (let i = 0; i < 100; i++) {
        this.tableData.push({ date: '2016-05-03', name: 'Tom', address: `No. ${i}, Grove St, Los Angeles`
         })
      }
    },
    data() {
      return {
        tableData: [],
        page: 1,
        pageSize: 10
      }
    },
   computed: {
     pagedTableData() {
       return this.tableData.slice(this.pageSize * this.page - this.pageSize, this.pageSize * this.page)
     }
   },
    methods : {
      setPage (val) {
        this.page = val
      }
    }
  }
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')

也可以在 Codepen