一、利用initialValue(适用于初始化固定的值)
Form 的 initialValues 与 Item 的 initialValue 区别?
在大部分场景下,我们总是推荐优先使用 Form 的 initialValues。只有存在动态字段时你才应该使用 Item 的 initialValue。默认值遵循以下规则:
1、Form 的 initialValues 拥有最高优先级
2、Field 的 initialValue 次之 *. 多个同 name Item 都设置 initialValue 时,则 Item 的
initialValue 不生效 被设置了 name 属性的 Form.Item 包装的控件,表单控件会自动添加 value(或
valuePropName 指定的其他属性) onChange(或 trigger 指定的其他属性),数据同步将被 Form
接管,这会导致以下结果:
1、你不再需要也不应该用 onChange 来做数据收集同步(你可以使用 Form 的 onValuesChange), 但还是可以继续监听 onChange 事件。
2、你不能用控件的 value 或 defaultValue 等属性来设置表单域的值,默认值可以用 Form 里的 initialValues 来设置。注意 initialValues 不能被 setState 动态更新,你需要用 setFieldsValue 来更新。
3、你不应该用 setState,可以使用 form.setFieldsValue 来动态改变表单值。
如果说我们需要回显某一条数据的动态值,需要使用下面的方式⬇️
2 使用setFieldsValue
setFieldsValue是form实例的一个方法,可以用来设置表单的值,其参数为k-v格式的对象,其中k对应form表单中的name,v表示你想设置的值。
form.setFieldsValue({
userName:'shine',
passWord:'xxx'
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)