【发布时间】:2020-05-15 14:49:31
【问题描述】:
我已经在后端/服务器中对数据进行了分页。我浏览了<v-data-table> 的文档,但无法掌握那里的东西。由于我使用的是vuex,我的数据将存储在state。现在如何将它们与<v-data-table> 结合起来。
resident.js:
export default {
state : {
residents: [],
},
mutations: {
set_residents (state, residents) {
state.residents = residents
},
},
getters: {
allResidents (state) {
return state.residents
},
},
actions: {
get_resident_list (context, page) {
let page = page.page || this.state.pagination.page;
let count = page.count || this.state.pagination.count;
return residentApi.getResidents(page, count)
.then(residents => {
context.commit('set_residents', residents)
return residents
})
.catch(error => {
return Promise.reject(error)
})
},
},
在 ResidentList.vue 文件中:
import { mapGetters, mapActions } from 'vuex'
export default {
data () {
return {
residents: '',
headers: ....,
}
},
computed: {
...mapGetters([
'allResidents',
]),
},
created() {
this.get_resident_list(),
this.residents = this.allResidents;
},
methods: {
...mapActions([
'get_resident_list',
'refresh_resident_list'
]),
},
watch: {
allResidents() {
this.residents = this.allResidents;
}
}
}
现在有了这种实现形式,我如何使用vuetify's <v-data-table> 对分页数据进行分页?
【问题讨论】:
-
你试过这个吗? vuetifyjs.com/en/components/…
标签: vue.js vuejs2 vue-component vuex vuetify.js