Я пытаюсь редактировать форму. Поэтому я использую Vuex для хранения информации о форме, а сама форма находится внутри диалога vuetify внутри дочернего компонента. Я также использую реквизиты, чтобы открыть диалоговое окно vuetify, а также при отправке индекса.
Я установил для редактирования vue данные (tableUsulanTemp) со значением получателей vuex (tableUsulan) примерно так:
props: {
value: false,
index: null
},
model: {
prop: "value",
event: "editClicked"
},
// set vue data with vuex getters
watch:{
value:function(value){
if(value){
this.tableUsulanTemp = this.tableUsulan[this.$props.index];
}else{
this.tableUsulanTemp = {};
}
}
},
computed: {
//here is the vuex getters
...mapGetters(["tableUsulan"]),
editOverlay: {
get: function() {
console.log(this.value);
return this.value;
},
set: function(value) {
console.log("edit button clicked");
this.$emit("editClicked", value);
}
}
},
data() {
return {
// here is vue data where i put the getters to
tableUsulanTemp:{},
};
},
разметка:
<v-text-field
label="Name"
v-model="tableUsulanTemp.name"
>
затем, когда пользователь отменит изменения, нажав кнопку «Отменить», он установит в диалоговом окне значение «ложь», которое вызывает наблюдателя (см. приведенный выше код) для сброса данных формы редактирования на пустой объект.
discard(){
this.editOverlay = false;
}
но проблема в том, что данные не отбрасываются, а изменяются. Я настроил пользователя на изменение информации в данных vue, но, похоже, она также меняется в vuex. так что я думаю, что это связано сейчас? так как я могу получить его без связи? как я могу получить состояние vuex в данные vue без изменения значения vuex при изменении данных vue?