数据结构示例:
data: {
data: {
province: '',
city: '',
area: ''
},
province: '',
city: '',
area: ''
}
第一层data是小程序的this,第二层是之后要提交的data
写小程序(微信小程序跟支付宝小程序)的时候有遇到这种情况:
想给第二层data赋值,结果发现用 this.data.data.province的话,页面不会重新渲染,而如果用
this.setData({
data: {
province: 'text'
}
})
的话,会发现整个data都会被替换,这种情况我们可以用这种方法:
let dataProvince = 'data.province',
dataCity = 'data.city',
dataArea = 'data.area';
this.setData({
province: res.result[0].name,
city: res.result[1].name,
area: res.result[2].name,
[dataProvince]: pid,
[dataCity]: cid,
[dataArea]: aid
})
定义要赋值的key为字符串,然后在setData()里[key]: ' '就可以了