html52.com
我爱小程序-开发者交流社区

setData 设置一个嵌套的map我该怎么做?

[`sbData.${key}.${eRep.deviceName}-${eRep.equipmentId}.state`] : 0
})
如图


如图


已经解决了 应该这样 ,不要使用[]

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
})


评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付