vuex中的更新数组在组件中没有反应

时间:2019-03-20 21:29:13

标签: vue.js vuex

我正在尝试推出/弹出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'])

1 个答案:

答案 0 :(得分:0)

我认为这是因为您在此处使用lodash的includes方法。应该使用此方法检查元素是否是集合的一部分。

您可能想尝试一下:

isExpanded() {
    return  this.expandedPayments.indexOf(this.paymentId) !== -1
}