问题描述
我有这个有效载荷。
{name: "Sinto 6",val: {…},line: "Sinto 6"}
line: "Sinto 6"
name: "Sinto 6"
val:
AvgMachTime: 253
AvgManTime: 1343
CollectMachTimer: 359
CollectManTimer: 108
CycleTimeMach: 359
CycleTimeMan: 140
FaultTime: 15297
MachTargetSeconds: 330
ManTargetSeconds: 95
NGPartCount: 63
OnHeatTime: 11201
PartCount: 12
PartTarget: 78
我正在尝试使用 Vue 设置使用状态的值
const PERFORMANCE_COMMIT = (state,payload) => {
Vue.set(state["Performance"][payload.line],[payload.val],payload.val);
}
我意识到我的 payload.val 之一需要是值的名称,而不是名称本身。
我该如何正确引用它?
我的状态如下:
Performance: {
TotalPartTarget: 0,TotalPartCount: 0,Difference: 0,OEE: 0,OEETarget: 100,"Sinto 6" :{
PartTarget: 0,PartCount: 0,NGPartCount: 0,FaultTime: 0,OnHeatTime: 0,CycleTimeMan: 0,CycleTimeMach: 0,CollectManTimer: 0,CollectMachTimer: 0,AvgManTime: 0,AvgMachTime: 0,ManTargetSeconds: 0,MachTargetSeconds: 0
编辑:拼写
解决方法
根据 Vue 文档 (Vue.set Documentation Link),第一个参数是目标,第二个是属性名称/索引,第三个是值。
因此,在您的情况下,目标属性是 state["Performance"],属性名称是 payload.line ("Sinto 6"),值是 有效载荷.val。
const PERFORMANCE_COMMIT = (state,payload) => {
Vue.set(state["Performance"],payload.line,payload.val);
}