|
阅读:5726回复:1
钉钉小程序改变data下面对象中的某个值,除了改变的值还在,其他值没了。
前一段时间搞敏捷开发,项目为钉钉小程序。
在data里面设置了一个对象,改变对象下面的一个键的值后,发现其他键的值没了,只有刚刚改变的值还在 因为遇到这个问题的时候是在组件里面,所以我直接上组件代码。当然pages下面也有这个问题。 Component({
data: {
newObject:{
name:"zhangsan",
sex:"男",
age:"18"
}
},
props: {},
didMount() {
this.setData({
newObject:{
name:"lisi"
}
})
console.log(this.data.newObject)
}
})16行打印如下所示![]() 具体原因还没找到,因为搞敏捷开发,所以没有办法。 但是解决办法还是找到了3种解决办法,代码都是基于最上面的改动的。 1.在newObject下加上...this.data.newObject,把前面的代码分解出来再赋值 didMount() {
this.setData({
newObject:{
...this.data.newObject,
name:"lisi"
}
})
console.log(this.data.newObject)
}2.最初代码下面的didMount方法改成这样 didMount() {
this.setData({
"newObject.name":"lisi"
})
console.log(this.data.newObject)
}3.最初代码下面的didMount方法改成这样 didMount() {
this.data.newObject.name="lisi"
this.setData({
newObject:{
...this.data.newObject
}
})
console.log(this.data.newObject)
} |
|
|
沙发#
发布于:2021-07-08 15:21
这个是和react一样得操作,当改变时你改变的数据将变成新得数据,同时也是react得动态渲染
这个是和react一样得操作,当改变时你改变的数据将变成新得数据,同时也是react得动态渲染 |
|
