Vuex:生命周期挂钩

时间:2020-02-13 20:02:48

标签: vue.js vuex

我在vuex文件中具有以下数据结构:

state:{
    info:[
      {
        name: 'Some field 1',
        value: '',
        pattern: /.+/,
        //status: ''
      },
      {
        name: 'Some field 2',
        value: '',
        pattern: /.+/,
       // status: ''
      }
    ]

我希望每个对象都有一个字段status: ''。但是我不想重复代码。在Vue组件中,我为此写过:

beforeMount(){ 
            // add new fuild 
        }

但是这种方式在Vuex中不起作用。

beforeMount(){  
    console.log('does not work');
    for (let i = 0; i < this.info.length; i++) {
        this.$set(this.state.info[i], 'status', '');
    }
  }

如何动态地将新字段添加到状态中?

1 个答案:

答案 0 :(得分:0)

在变异中,只需执行以下操作即可:

  state.info = state.info.map(x => ({
  ...x,
  status: ''
})