Я довольно новичок в vue / vuex / vuetify, но начинаю понимать его.У меня проблема, хотя я не смог ее решить должным образом.
У меня есть массив "проектов" в моем магазине.При удалении и добавлении элементов в хранилище с помощью мутаций изменения должным образом отражаются в подкомпонентах, ссылающихся на массив как свойство.
Однако изменения элементов в массиве не отражаются, хотя я вижу, что массив вХранилище обновлено.
Единственный способ заставить его "работать" с действием обновления - это либо:
- удалить проект из массива в хранилище, а затем добавить его
использует код, который делает то же самое, что описано выше, но примерно так:
state.categories = [
...state.categories.filter(element => element.id !== id),
category
]
Но проблема с двумя вышеупомянутыми методами заключается в том, чтопорядок массива изменяется, и я действительно хотел бы избежать этого ..
Итак, как бы я переписал свой метод мутации, приведенный ниже, чтобы состояние отражалось на подкомпонентах и сохранял порядок массива?
updateProject(state, project) {
var index = state.projects.findIndex(function (item, i) {
return item.id === project.id;
});
state.projects[index] = project;
}