<el-table :data="tableData" style="width: 100%"> <el-table-column prop="name" label="账号" width="180"> </el-table-column> <el-table-column prop="pass" label="密码" width="180"> </el-table-column> <el-table-column prop="beizhu" label="备注"> </el-table-column> <el-table-column prop="op" label="操作"> <template slot-scope="scope"> <el-button type="primary" class="el-icon-edit" size="mini" @click="openUpdate(scope.row.id)">修改</el-button> <el-button type="danger" class="el-icon-delete" size="mini" @click="deleteInfo(scope.row.id)">删除</el-button> </template> </el-table-column> </el-table>将此段代码使用分页功能完成
时间: 2024-02-14 16:13:17 浏览: 99
要实现基于 ElementUI 的分页功能,你需要按照以下步骤进行操作:
1. 在 PageTable.vue 组件中添加分页组件 el-pagination,并定义相关属性和方法:
```html
<template>
<div>
<el-table :data="tableData" style="width: 100%">
<!-- 表格列定义 -->
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
></el-pagination>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [],
currentPage: 1,
pageSize: 10,
total: 0
}
},
methods: {
fetchData() {
// 发送请求获取表格数据
// 并更新 this.tableData 和 this.total
},
handleSizeChange(size) {
this.pageSize = size
this.fetchData()
},
handleCurrentChange(page) {
this.currentPage = page
this.fetchData()
}
}
}
</script>
```
在这个示例中,我们在 el-pagination 上绑定了 size-change 和 current-change 事件,分别表示每页显示条数和当前页码的改变。我们还定义了 currentPage、pageSize 和 total 这三个属性,分别表示当前页码、每页显示条数和总条数,以及 handleSizeChange 和 handleCurrentChange 两个方法来响应分页组件的事件。
2. 修改 fetchData 方法,加入分页参数,并在请求中使用这些参数来实现分页:
```javascript
fetchData() {
// 发送请求获取表格数据
// 并更新 this.tableData 和 this.total
axios.get('/api/data', {
params: {
page: this.currentPage,
size: this.pageSize
}
}).then(res => {
this.tableData = res.data.list
this.total = res.data.total
})
}
```
在这个示例中,我们使用了 axios 库发送了一个 GET 请求,通过传递 page 和 size 参数来实现分页。服务器返回的数据中包含了 list 和 total 两个属性,分别表示当前页码的数据和总条数。
3. 在父组件中引入并使用 PageTable 组件:
```html
<template>
<div>
<page-table></page-table>
</div>
</template>
<script>
import PageTable from './PageTable.vue'
export default {
components: {
PageTable
}
}
</script>
```
在这个示例中,我们在父组件中引入了 PageTable 组件,并在模板中使用了这个组件。
通过以上步骤,你就可以实现基于 ElementUI 的分页表格数据。用户可以通过分页组件来切换页码和每页显示条数,同时表格数据也会随之更新。
阅读全文