如图
已经解决了 应该这样 ,不要使用[]
self.setData({
// [`sbData["${key}"]["${eRep.deviceName}-${eRep.equipmentId}"].state`] : 0
[`sbData.${key}.${eRep.deviceName}-${eRep.equipmentId}.state`] : 0
})
网友回复
王建:
this.setData({
[`sbData.${key}.${eRep.deviceName + '-' + eRep.equipmentId}.state`]: 0
});
this.setData({
[`sbData.${key}.${eRep.deviceName}-${eRep.equipmentId}.state`]: 0
});
两种写法都可以。
如果 key 不是数字,也就是说不是在设置数组,得用点 "." 拼起来。
如果在设置数组的某一项,用方括号 []
Feb.:
let sbData = `sbData[${key}][${eRep.deviceName}-${eRep.equipmentId}].state`;
this.setData({
[sbData]: 0
});
尝试一下这样写
寒轩:
this.setData({
[`sbData[${变量}][${变量}].state`] : 0
})
n:
sbData:{
"车间一":{
"un00101":{
"name":"1号",
"state":1
},
"un00102":{
"name":"2号",
"state":1
},
"un00103":{
"name":"2号",
"state":1
},
"un00104":{
"name":"2号",
"state":1
},
"un00105":{
"name":"2号",
"state":1
},
}
}
this.setData({
sbData[变量][变量].state : 0
})