el-table 分页
时间: 2023-07-12 13:31:47 浏览: 114
el-table 组件是 Element UI 中的表格组件,支持分页功能。在使用分页功能时,需要通过 el-pagination 组件来控制分页。
这里提供一个简单的 el-table 分页的示例代码:
```
<template>
<div>
<el-table :data="tableData" border>
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="age" label="年龄"></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, 30, 40]"
:page-size="pageSize"
:total="total">
</el-pagination>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [],
currentPage: 1,
pageSize: 10,
total: 0
}
},
created() {
this.fetchData();
},
methods: {
fetchData() {
// 使用异步请求获取数据,并更新表格数据和总数
// 示例代码:
axios.get('/api/data', {
params: {
currentPage: this.currentPage,
pageSize: this.pageSize
}
}).then(response => {
this.tableData = response.data.list;
this.total = response.data.total;
});
},
handleSizeChange(size) {
this.pageSize = size;
this.fetchData();
},
handleCurrentChange(page) {
this.currentPage = page;
this.fetchData();
}
}
}
</script>
```
在上面的示例代码中,我们通过 el-pagination 组件来控制分页,使用 currentPage 和 pageSize 来表示当前分页的页码和每页数据条数。然后在 created 钩子函数中,调用 fetchData 方法获取第一页的数据。在 handleSizeChange 和 handleCurrentChange 方法中,分别更新 pageSize 和 currentPage,并重新调用 fetchData 方法获取数据。
需要注意的是,fetchData 方法需要根据实际情况来实现,这里只是提供一个示例代码。如果需要向后端请求分页数据,也需要根据后端接口的要求来设置请求参数和解析响应数据。
阅读全文