我正在尝试推出/弹出vuex模块中的阵列。
在vue开发工具中查看时,阵列会正确添加/删除。 但是,计算所得的属性不会更新,希望会发生更改,但是不起作用。
在Vuex模块中
// initial state
const state = {
expandedPayments: []
}
// getters
const getters = {
expandedPayments(state) {
return state.expandedPayments
},
}
// mutations
const mutations = {
[Mutations.PUSH_PAYMENTID](state, id) {
state.expandedPayments.push(id)
},
[Mutations.POP_PAYMENTID](state, id) {
_.pull(state.expandedPayments, id)
}
}
在组件中
<tr v-show="isExpanded">
...
isExpanded() {
return _.includes(this.expandedPayments, this.paymentId)
},
...mapGetters('payment', ['expandedPayments', 'isExpanded'])
答案 0 :(得分:0)
我认为这是因为您在此处使用lodash的includes
方法。应该使用此方法检查元素是否是集合的一部分。
您可能想尝试一下:
isExpanded() {
return this.expandedPayments.indexOf(this.paymentId) !== -1
}