element-plus table 分页,每页10条
时间: 2023-10-24 13:55:18 浏览: 236
element分页组件
5星 · 资源好评率100%
使用 Element Plus 中的 Table 组件进行分页,每页显示10条数据的示例代码如下:
```vue
<template>
<el-table :data="tableData" border>
<!-- 列定义 -->
<el-table-column prop="name" label="Name"></el-table-column>
<el-table-column prop="version" label="Version"></el-table-column>
<el-table-column prop="index" label="Index"></el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:page-sizes="[10, 20, 30, 40]" <!-- 可选的每页显示条数 -->
:page-size="pageSize" <!-- 当前每页显示条数 -->
:total="totalRows" <!-- 总数据条数 -->
layout="sizes, prev, pager, next" <!-- 分页布局 -->
></el-pagination>
</template>
<script>
export default {
data() {
return {
tableData: [], // 表格数据
currentPage: 1, // 当前页码
pageSize: 10, // 每页显示条数
totalRows: 0 // 总数据条数
};
},
methods: {
// 每页显示条数变化时触发
handleSizeChange(val) {
this.pageSize = val;
this.getData();
},
// 当前页码变化时触发
handleCurrentChange(val) {
this.currentPage = val;
this.getData();
},
// 获取数据方法,根据当前页码和每页显示条数获取对应数据
getData() {
// 根据当前页码和每页显示条数计算起始索引和结束索引
const startIndex = (this.currentPage - 1) * this.pageSize;
const endIndex = startIndex + this.pageSize;
// 根据起始索引和结束索引从数据源中获取对应数据
this.tableData = dataSource.slice(startIndex, endIndex);
}
},
mounted() {
// 假设获取到的数据源为 dataSource
// 在实际应用中,你需要从后端获取数据,并设置 totalRows 的值为总数据条数
const dataSource = [
{ name: 'abc', version: '1.0', index: 1 },
{ name: 'abc', version: '2.0', index: 2 },
// 其他数据...
];
this.tableData = dataSource;
this.totalRows = dataSource.length;
}
};
</script>
```
以上代码使用了 Element Plus 的 Table 组件和 Pagination 组件。在 `data` 中定义了表格数据 `tableData`、当前页码 `currentPage`、每页显示条数 `pageSize` 和总数据条数 `totalRows`。在 `methods` 中定义了处理每页显示条数变化和当前页码变化的方法,以及获取数据的方法。在 `mounted` 钩子中,假设从后端获取到了数据源,并将数据赋值给 `tableData`,同时设置 `totalRows` 的值为总数据条数。当每页显示条数或当前页码发生变化时,会触发相应的方法进行数据的获取和更新。
阅读全文