菜汤不甜
菜汤不甜
  • 发布:2021-11-28 13:19
  • 更新:2022-12-15 22:34
  • 阅读:507

#插件讨论# 【 uni-forms 表单 - DCloud前端团队 】不知道是不是BUG,出现地址传递的问题,导致父级的界面的表单数据对象发生变化

分类:uni-app
关联插件: uni-forms 表单

好像出现地址传递的问题,导致父级的界面的表单数据对象发生变化

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里的字段缺失

2021-11-28 13:19 负责人:无 分享
已邀请:
DCloud_UNI_HT

DCloud_UNI_HT

我觉的可能 会出现的 是 { "name":""} 而不是 { "nickname":""} ,原因是组件只保留 uni-form-item 指定 name 字段的数据 ,其他数据会被删除 ,不过按你的说法 ,可能确实是有问题 ,不应该影响 modelValue 的值的 ,所有操作都是内部的值才对

菜汤不甜

菜汤不甜 (作者)

哈哈 好久前的问题了,刚看了下新版的,好像组件不会有这个问题了 ,以下是旧版的局部代码

要回复问题请先登录注册