el-table组合el-pagination
时间: 2023-07-24 17:14:21 浏览: 123
el-search-table-pagination::dog_face:将Element UI的Form,Table和Pagination组件组合在一起
要实现 el-table 和 el-pagination 的组合使用,你可以 el-pagination 放置在 el-table 的外部,并通过监听 el-pagination 的页码变化事件来更新 el-table 的数据。下面是一个示例的代码:
```html
<template>
<div>
<el-table
:data="tableData"
:row-key="row => row.id"
:default-sort="{ prop: 'name', order: 'ascending' }"
>
<!-- 表格列配置 -->
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="age" label="年龄"></el-table-column>
</el-table>
<el-pagination
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 20, 30, 40]"
:page-size="pageSize"
:total="total"
layout="total, sizes, prev, pager, next"
></el-pagination>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [], // 表格数据
currentPage: 1, // 当前页码
pageSize: 10, // 每页显示的条数
total: 0 // 总条数
};
},
methods: {
handleCurrentChange(page) {
this.currentPage = page;
this.getData(); // 根据当前页码请求数据或者更新表格数据
},
getData() {
// 根据当前页码和每页显示条数请求数据,并更新表格数据
// ...
}
},
mounted() {
this.getData(); // 初始化时获取数据
}
};
</script>
```
在上述代码中,el-table 和 el-pagination 是分开放置的,通过监听 el-pagination 的 `current-change` 事件,在回调函数 `handleCurrentChange` 中更新当前页码,并调用 `getData` 方法来请求数据或者更新表格数据。
el-pagination 的属性 `current-page` 绑定到了 currentPage,`page-size` 绑定到了 pageSize,`total` 绑定到了 total,这些属性用于控制分页组件的显示和页码的切换。
通过设置 `layout` 属性,你可以自定义 el-pagination 的布局,这里使用了 "total, sizes, prev, pager, next" 布局,即显示总条数、每页显示条数选择、上一页、页码、下一页。
当执行 `handleCurrentChange` 方法时,你可以在其中根据当前页码和每页显示条数来请求数据,并更新表格数据。在初始化时,也可以调用 `getData` 方法来获取初始数据。
请根据你实际的数据请求和更新逻辑进行相应的修改和补充。
阅读全文