Я пытаюсь извлечь массив из Vuex, отредактировать его локально, затем:
- Отменить изменения без изменения массива Vuex или
- Отправить локальные изменения (в бэкэнд) ,
На этом этапе редактирование локального массива также обновляет массив в Vuex, чего я не хочу.
Когда я редактирую данные в форме и возвращаю (без отправки), изменения также переносятся по массиву в Vuex, а не только изменяют локальный массив.
Краткий обзор моего кода:
Магазин:
var app = new Vue({
el: "#app",
store: new Vuex.Store({
state: {
details: [ /* data */ ]
}
})
});
HTML:
Примечание: здесь я могу посмотрите, какие значения по умолчанию перед редактированием.
<b-form>
// I'm using the item and index later on
<div v-for="(item, index) in data">
// Just want to see what the default values are before editing
<b-form-input v-model="form.title"></b-form-input>
</div>
</b-form>
Скрипт:
data() {
return {
data: null,
form: null
}
},
beforeMount() {
this.data = [...this.$store.state.details]
this.form = this.data[0];
}
Как я могу улучшить свой код, чтобы я мог вносить изменения локально?