后端更新后保存对象数组内的Vuex突变

时间:2018-10-18 20:18:23

标签: vuejs2 state vuex mutation vuex-modules

我有一个对象数组。当我的api执行update方法并保存时,我正在通过laravel-echo-server广播事件,并尝试使用update对象更改状态。我正在尝试实时更新。除了实际的变异外,其他一切都按计划进行。这是它的开始:

updateExample (state, example) {
  state.examples.map(e => {
    if (e.id === example.id) {
      // entirely replace the old object with the new
    }
    return false
  })
},

执行此操作的理想方法是什么?我还可以将旧对象弹出数组,然后推入一个新对象,但这似乎很奇怪。

1 个答案:

答案 0 :(得分:0)

没关系,弄清楚了:

updateExample (state, example) {
  let index = state.examples.findIndex(e => e.id === example.id)
  if (index !== -1) {
    state.examples[index] = new Example(example)
    return
  }
  state.examples.push(new Example(example))
}

感谢您的关注!