具有相同名称的Vuex状态为空

时间:2018-10-01 19:07:30

标签: vuex

我有一个状态如下的Vuex模块:

const state = {
  items: [],
  selectedItem: {
    id: null,
    name: "",
  }
}

在我中,我让用户将selectedItem添加到items数组中。

但是,当我设置selectedItem时,我想清除旧的,因此我运行了一个将idname基本上设置为空的突变。但这似乎也清除了id数组中name的{​​{1}}和selectedItem

我的清除突变如下:

items

据我了解,这仅应清除 clearSelectedItem: function(state) { state.items.selectedItem.id = null; state.items.selectedItem.name = ""; }, 数组之外的selectedItem,但绝对清除所有内容。我有什么语法可以用来获取单个items

1 个答案:

答案 0 :(得分:0)

  

我让用户将selectedItem添加到项目数组。

在我看来,您是通过引用将对象添加到数组中的。您是否尝试过将值克隆到新对象中,然后将新对象添加到items-array中?

或者您可以尝试将清除功能设置为:

clearSelectedItem: function(state) {
  state.items.selectedItem = {
    id:null,
    name:""
  };
},