1、了解其他组件实现的原理
双向绑定:data + rule <=> form视图
影响: data可能会被多个组件使用,所以表单中修改,也会影响其他组件。
表单提交成功后,还会进行处理。所以会备份一份数据(深度拷贝),再同步给data
![](https://img.haomeiwen.com/i11092615/69acba2576db4a7c.png)
2、ant不是采用双向绑定的方法,而是把form作为一个黑盒,data仅作为初始值。data发生变化了,如果需要同步,则可以使用form提供的API去实现。
v-decorator: 仅仅是一个标志位。在遍历form-item时,有v-decorator标记的input,对value值进行拦截。
![](https://img.haomeiwen.com/i11092615/4dc7d56dcf0039c6.png)
注意:initialValue的值,仅会初始化一次。如果后面需要去改变,都需要使用form.setFieldsValue去改变
![](https://img.haomeiwen.com/i11092615/cd8ca3c26ddb6c6b.png)
![](https://img.haomeiwen.com/i11092615/05a62640dab39030.png)
value对应就是{fieldA: "hello world",fieldB: "ff"}
如果想去更改当前组件的data值,可以使用Object.assign()方法。
网友评论