阅读:3318回复: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得动态渲染 |
|