Как исправить изменения состояния в VUEX? - PullRequest
1 голос
/ 30 мая 2019

У меня проблема с изменением состояния при соединении элемента из другого массива и последующем изменении состояния.Чтобы быть понятным, я не хочу, чтобы состояние изменилось, просто хочу склеить один элемент из массива arrayWithFilters = []

export const SHOW_RESULTS_WHEN_NOTHING = (state) => {
  let selectedFilters = {...state.selected.filters},
  arrayWithFilters = []; //Making splice from this array, but it also removes from state.selected.filters. 

  for (let filter in selectedFilters) {
    arrayWithFilters.push(selectedFilters[filter])
  }

  arrayWithFilters.forEach((filter) => {
    if (filter.values.includes('qcontrast')) {
      filter.values.splice('qcolor', 1);
      console.log(filter)
    }
  })
}

1 Ответ

1 голос
/ 30 мая 2019

проблема решена с помощью следующего кода

export const SHOW_RESULTS_WHEN_NOTHING = (state) => {
let selectedFilters = {...state.selected.filters},
    arrayWithFilters = [];

let selectedFiltersCopy = JSON.parse(JSON.stringify(selectedFilters));

arrayWithFilters = Object.values(selectedFiltersCopy);

arrayWithFilters.forEach((filter) => {

    if (filter.values.includes('qcontrast')) {

        filter.values.splice('qcontrast', 1);

    }
})

console.log(arrayWithFilters)

}

...