Штат Vuex с тем же именем обнуляется - PullRequest
0 голосов
/ 01 октября 2018

У меня есть модуль Vuex с состоянием, подобным следующему:

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

И в моем я позволяю пользователю добавить selectedItem к items массиву.

Однако,когда я устанавливаю selectedItem, я хочу очистить старый, поэтому я запускаю мутацию, которая в основном устанавливает id и name на ноль.Но это, кажется, очищает id и name selectedItem в массиве items!

Моя очищающая мутация выглядит так:

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

Моемупонимание этого должно только очистить selectedItem вне массива items, но это очищает абсолютно все.Есть ли какой-то синтаксис, который я могу использовать, чтобы просто получить сингл selectedItem?

1 Ответ

0 голосов
/ 01 октября 2018

Я позволил пользователю добавить selectedItem в массив items.

Мне кажется, что вы добавляете объект в массив по ссылке.Вы пытались клонировать значения в новый объект, а затем вместо этого добавить новый объект в массив items?

Или вы можете попробовать установить для своей функции очистки значение:

clearSelectedItem: function(state) {
  state.items.selectedItem = {
    id:null,
    name:""
  };
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...