好像出现地址传递的问题,导致父级的界面的表单数据对象发生变化
1、有个界面、界面上有该组件
{{postData}}
<uni-forms ref="formsComponent" :modelValue="postData">
<uni-forms-item label="姓名" required name="name"></uni-forms-item>
</uni-forms>
2、postData的数据为
postData: {"name": "", "nickname":""}
3、onLoad的时候输出 postData 的内容,输出结果为 { "nickname":""},并非是postData原来的数据{"name": "", "nickname":""}
4、解决办法,uni-forms 组件中的 init() 方法,
将 this.formData = this.dataValue 改为 this.formData = JSON.parse(JSON.stringify(this.dataValue))
5、问题的发现:界面加载后,需要从接口获取已有的数据,并更新表单。但是接口给的数据比较多,我就依靠postData里的数据进行遍历,结果发现postData里的字段缺失
2 个回复
DCloud_UNI_HT
我觉的可能 会出现的 是
{ "name":""}
而不是 { "nickname":""} ,原因是组件只保留 uni-form-item 指定 name 字段的数据 ,其他数据会被删除 ,不过按你的说法 ,可能确实是有问题 ,不应该影响 modelValue 的值的 ,所有操作都是内部的值才对菜汤不甜 (作者)
哈哈 好久前的问题了,刚看了下新版的,好像组件不会有这个问题了 ,以下是旧版的局部代码