Vue+Element-UI 实现前端分页功能,利用el-table和el-pagination组件实现表格前端分页
<template>
<div>
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="date" label="日期" width="180"></el-table-column>
<el-table-column prop="name" label="姓名" width="180"></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"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [],
currentPage: 1,
pageSize: 10,
total: 0,
};
},
created() {
this.fetchData();
},
methods: {
fetchData() {
// 这里模拟发送请求获取数据,并更新分页信息
// 假设 getData 是一个发送请求的函数,它返回一个 Promise
getData({
page: this.currentPage,
pageSize: this.pageSize
}).then(response => {
this.tableData = response.data;
this.total = response.total;
});
},
handleSizeChange(val) {
this.pageSize = val;
this.fetchData();
},
handleCurrentChange(val) {
this.currentPage = val;
this.fetchData();
}
}
};
</script>
这个例子中,我们定义了一个Vue组件,它包括了一个表格(el-table)和一个分页组件(el-pagination)。在data
函数中,我们初始化了当前页码currentPage
、每页显示条数pageSize
和数据总数total
。在组件被创建时(created
钩子中),我们调用fetchData
方法获取初始数据。在分页组件的size-change
和current-change
事件处理函数中,我们更新当前页码或每页显示条数,并重新获取数据。这里的fetchData
方法需要你自己实现,它会根据当前页码和每页显示条数向服务器发送请求,并更新tableData
和total
。这个例子展示了如何使用Element UI的分页组件与后端服务器数据交互,实现前端分页功能。
评论已关闭