我有两个组件,一个是父级,是一些随机页面,子级是一个将使用的组件,更多的组件用于网格。
家长
<template>
...
<DataTable
:items="items"
:fields="fields"
:currentPage="currentPage"
:perPage="perPage"
:filter="filter"
:sortBy="sortBy"
:sortDesc="sortDesc"
:sortDirection="sortDirection">
</DataTable>
...
</template>
<script>
import DataTable from "./DataTable.vue";
components: {
DataTable,
},
data: function(){
return {
fields: [],
items: [],
currentPage: 1,
perPage: 2,
filter: null,
sortBy: null,
sortDesc: false,
sortDirection: 'asc',
}
}
</script>
孩子
<template>
...
<b-table
show-empty
stacked="md"
:items="items"
:fields="fields"
:current-page="currentPage"
:per-page="perPage"
:filter="filter"
:sort-by="sortBy"
:sort-desc="sortDesc"
:sort-direction="sortDirection">
</b-table>
<b-row>
<b-col md="6" class="my-1">
<b-pagination
:total-rows="items.length"
:per-page="perPage"
v-model="currentPageComputed"
class="my-0" />
</b-col>
</b-row>
...
</template>
<script>
props: {
items: Array,
fields: Array,
currentPage: Number,
perPage: Number,
filter: String,
sortBy: String,
sortDesc: Boolean,
sortDirection: String,
},
computed: {
currentPageComputed: {
get () {
return this.$props.currentPage
},
set (i) {
this.$props.currentPage = i;
}
},
},
</script>
使用分页换页时;工作但是,给我这个错误:
我读到这个问题是指“Vue 中的道具是一种反模式”。
那么,如何修复呢?