开发中经常会从后台拿到类似数据:
data:{ info1:{ name: 'aa', address: 'bb' ... }, info2: [ { name: 'aa' }, { name: 'bb' } ... ]}如果要修改 `name = 'cc'` 怎么做呢?一般我们这么写:this.data.info1.name = 'cc' // 没用this.setData({ info1.name: 'cc', // 编辑器报错 'info1.name': 'cc' // 也没用})解决方案:
- 第一步:先用一个变量,把(info1.name)用字符串拼接起来。
- 第二步:将变量写在[]里面即可。
const _k1 = `info1.name` // 拼接已知属性const _k2 = `info2[${index}].name` // 拼接动态属性this.setData({ [_k1]: 'cc', [_k2]: 'cc'})
作者:疾风劲草ccy
链接:https://www.jianshu.com/p/8487bb7521af
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。













