vue通过table-column实现分页查询显示用户列表怎么向后端请求数据
时间: 2024-01-27 07:03:34 浏览: 70
vue 请求后台数据的实例代码
要实现分页查询并显示用户列表,你可以使用 Vue 的 `<el-pagination>` 组件来实现分页功能,并通过向后端发送带有分页参数的请求来获取数据。下面是一个示例代码:
```html
<template>
<div>
<el-table :data="users">
<el-table-column prop="id" label="ID"></el-table-column>
<el-table-column prop="name" label="Name"></el-table-column>
<el-table-column prop="email" label="Email"></el-table-column>
</el-table>
<el-pagination
v-if="total > 0"
:total="total"
:current-page="currentPage"
:page-size="pageSize"
@current-change="handleCurrentChange"
></el-pagination>
</div>
</template>
<script>
import axios from 'axios';
export default {
data() {
return {
users: [],
currentPage: 1,
pageSize: 10,
total: 0,
};
},
mounted() {
this.fetchUsers();
},
methods: {
fetchUsers() {
axios.get('/api/users', {
params: {
page: this.currentPage,
pageSize: this.pageSize,
},
})
.then(response => {
this.users = response.data.users;
this.total = response.data.total;
})
.catch(error => {
console.error(error);
});
},
handleCurrentChange(page) {
this.currentPage = page;
this.fetchUsers();
},
},
};
</script>
```
在上面的代码中,我们添加了 `<el-pagination>` 组件来显示分页控件。我们通过 `:total` 属性设置总记录数,`:current-page` 属性设置当前页码,`:page-size` 属性设置每页显示的记录数,并通过 `@current-change` 事件监听页码变化。
在 `fetchUsers` 方法中,我们发送带有分页参数的 GET 请求到 `/api/users` 接口,并将分页参数作为查询参数传递给后端。后端需要解析这些参数,并返回相应的用户列表数据和总记录数。在请求成功后,我们将响应中的用户列表赋值给 `users` 数组,并更新 `total` 变量以反映总记录数。
当用户改变页码时,我们调用 `handleCurrentChange` 方法,更新 `currentPage` 变量并重新调用 `fetchUsers` 方法来获取对应页码的用户数据。
请注意,上述示例中的 `/api/users` 是一个示意的后端 API 地址,你需要根据你的实际情况修改为正确的后端接口地址。
希望这能帮到你!如果你有任何其他问题,请随时提问。
阅读全文