vuex - Nuxtjs /Vuex 不适用于复杂对象
问题描述
当我尝试更改表单中的值时,我收到以下消息,但适用于简单对象。
[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
}
}```
解决方案
发生此错误不是因为对象很复杂,而是因为您试图更改 vuex 状态而不是突变,
我不确定它是否是导致问题的形式,但我猜你在你的应用程序的某个地方你正在改变一个 vuex 状态......
要更改 vuex 状态,您必须创建突变并提交更改
export const mutations = {
SET_CHANGE: (state,change)=>{
state.item = change
}
}
可以调用commit('SET_CHANGE')
推荐阅读
- css - 在 Bootstrap 4 中将 div 的内容居中
- javascript - 使用 MaterialUI 将 Select 转换为 NativeSelect
- javascript - 使数学表达式匹配目标数字的最短序列
- mysql - 逾期图书查询:is dateDueBack < todaysDate
- reactjs - React,Redux-Saga:这是处理 saga 中的错误并通知组件显示该错误的最佳方法
- c# - 在 Task.WhenAll 中捕获异常
- unity3d - 计算初始速度以设置为刚体,使其达到具有给定发射角度、起始位置和目标位置的目标位置
- c++ - c ++“程序无法运行”的vs代码代码运行器面临的问题
- python - 在 C++ 程序中编译和链接 Python 是否意味着目标用户不需要安装 python?
- javascript - 你能读懂 firebase 函数的 HttpsError 状态吗?