当我尝试更改表单中的值时,我收到以下消息,尽管它适用于简单对象。
[vuex]不会在变异处理程序之外对vuex存储状态进行变异。
我有一个列表,我需要更新此列表中的寄存器,因此弹出一个填充的对话模式,需要更改或不更改字段,然后单击并保存更改,如果我关闭该模式而没有保存更改,这些值必须与以前相同。
我的表格
<v-layout wrap>
<v-flex xs12 sm6 md4>
<v-text-field v-model="editedItem.personnel.name" label="Name"></v-text-field>
</v-flex>
<v-flex xs12 sm6 md4>
<v-text-field v-model="editedItem.personnel.email" label="Email"></v-text-field>
</v-flex>
export default {
name: "TheDealerPersonnel",
components: { TheContentTitle },
data: () => ({
title: "Dealer Personnel",
dialog: false,
options: [],
editedItem: {
perosonneldealershipid: Number,
dealerID: Number,
personnelID: Number,
dealer: Object,
personnel: {
personnelID: Number,
name: String,
email: String,
companyID: Number,
roleiD: Number,
company: Object,
role: {
roleiD: Number,
description: String,
ranking: Number
}
}```
答案 0 :(得分:0)
发生此错误的原因不是因为对象很复杂,而是因为您试图更改vuex状态而不是使其发生突变,
我不确定是否是导致问题的表格,但是我猜您正在更改应用程序中的vuex状态。...
要更改vuex状态,您必须创建突变并提交更改
export const mutations = {
SET_CHANGE: (state,change)=>{
state.item = change
}
}
可以由commit('SET_CHANGE')