Как передать в компонент из vuex изменившиеся данные конкретного объекта store?

Есть массив элементов в store, на основе которого строится список. У каждого элемента списка есть переключатель состояний конкретного элемента в этом списке. В переключатель передается id списка. Когда переключатель срабатывает, я диспатчу данные в store:

this.$store.dispatch('handler', payload)

Геттер для получения выглядит так:

getState: state => id => {
	return state.listings.find(el => el.id == id).is_edited //возвращает true или false
}

И, наконец, в computed компонента я получаю этот геттер:

this.$store.getters.getState(this.item.id)

Все это срабатывает при загрузке приложения. Что надо сделать, чтобы получать изменившееся значение при срабатывании переключателя?
  • Вопрос задан
  • 438 просмотров
Решения вопроса 1
kulakoff
@kulakoff Куратор тега Vue.js
Vue.js developing
Попробуйте заменить мутацию на такую:
startMutation(state, data) {
  const index = state.listings.findIndex(item => item.id === data.id)
  state.listings.splice(index, 1, {...state.listings[index], is_edited: true})
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы