-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bug: component 组件中定义的 data 数据对象被共享 #43
Comments
确认能重现。 通过避免直接修改 - this.data.formData['surname'] = value
this.setData({
- formData: this.data.formData
+ ...this.data.formData,
+ surname: value,
}) |
@imyelo Tks, 我看你代码中初始化数据时候,每次都进行clone 数据,这样会不会有性能问题呢!需要的时候才进行clone |
clone 确实对性能有影响。或者可以考虑把 |
这个可以 👍 |
我把代码换成下面形式,不会触发这个问题了。这么奇怪!! this.setData({
'formData.surname': value
}) |
因为这个问题的触发条件是直接修改 另外 tina 不支持数据路径的 setData,你的示例更新后 data 应该变成了 |
例子
在page页面中引用了 2 次 form 组件,导致 formData 对象数据公用,当输入一个框时,第二个文本框值自动同步,surname 参数完好!
我在原生小程序中不会出现该问题。
目前解决方案
__deep__: true
来标示进行对对象
深拷贝解决。如果 data 可以定义是个函数来解决那就更好 🤔
The text was updated successfully, but these errors were encountered: