vue.js - Vuetify 数据表上的自定义分页,每行选择项目
问题描述
我对带有自定义分页的 vuetify 表有疑问。分页是基于服务器的。我将 axios 用于路由。在应用程序加载时,我使用以下方法:
data() { return{ pageNumber: 1, pageSize: 15 } }
created() { this.getAllmessages(this.pageNumber, this.pageSize) },
该方法从服务器检索所有数据,除了表格显示的数据之外,还有关于分页的数据:currentpage、lastPage、itemsOnPage ...所有这些都保存在 vuex 存储中。currentPage = 1 和 itemsOnPage = 15 在服务器上定义。
下面是检索消息的代码。更准确地说是 vuex 动作
async getAllmessages({ rootState, commit }, data) {
const { token } = rootState;
const response = await api.fetchMessages(token, data);
commit('GET_MESSAGES', response.data);
哪个电话
fetchMessages(token) {
return axios.get(`${BASE_URL}messages/getAll?pageNo=${data.pageNumber}&pageSize=${data.pageSize}`, {
headers: {
Authorization: `Bearer ${token}`,
},
});
在我的 pagination.vue 组件中有用于选择每页项目的选项
<select class='select' v-model='itemsOnPage'>
<option value='10'>10 Rows</option>
<option value='15'>15 Rows</option>
<option value='20'>20 Rows</option>
</select>
下面是我计算的 getter 和 setter 属性,观察者可以了解 itemsOnPage 发生的任何变化
data(){return{ perPage: [15], pageNumber: [1], }}
watch: {
currentPage(newVal) {
this.pageNumber = newVal;
this.paginatePage(this.pageNumber, this.perPage);
},
itemsOnPage(newVal) {
this.perPage = newVal;
this.rowsPerPage(this.pageNumber, this.perPage);
},
computed: {
currentPage: {
get() {
return this.$store.state[this.store].currentPage;
},
set(value) {
this.$store.commit(`SET_CURRENT_PAGE_${this.store}`, value);
},
},
lastPage: {
get() {
return this.$store.state[this.store].numberOfPages;
},
},
itemsOnPage: {
get() {
return this.$store.state[this.store].itemsOnPage;
},
set(value) {
this.$store.commit('SET_ITEMS_PER_PAGE', Number(value));
},
},
methods: {
async paginatePage(pageNumber, pageSize) {
await this.$store.dispatch(`getAll${this.store}`, {
pageNumber,
pageSize,
});
},
async rowsPerPage(pageNumber, pageSize) {
await this.$store.dispatch(`getAll${this.store}`, {
pageNumber,
pageSize,
});
},
我得到的错误是到达这条路线时:
axios.get(`${BASE_URL}messages/getAllpageNo=${data.pageNumber}&pageSize=${data.pageSize})
其中pageNo=未定义&pageSize=未定义
欢迎任何帮助!
解决方案
推荐阅读
- macos - IODisplayConnect 在 Apple Silicon 的 Big Sur 中消失了,取而代之的是什么?
- javascript - Mapbox Directions 导致堆栈折叠
- python - TypeError:scatter()缺少1个必需的位置参数:Plotly中的'data_frame'
- java-8 - 如何使用completionStage编写while循环,最终返回CompletionStage而不加入?
- java - java swing中的按钮有问题
- sql-server - EF 6.1.3 异常 - 无法将“System.Data.Entity.Core.Objects.ObjectContext”类型的对象转换为“System.Data.Entity.DbContext”类型
- excel - 如何创建表的超链接?
- airflow - 气流 - 发送失败短信通知
- jenkins - 通过 ec2-plugin 以编程方式启动额外的 Jenkins 节点
- python - “来自通配符导入的未使用的导入操作系统”