Form表单的setFieldsValue
Form 表单记录
3.x 版本 antd 文档表明表单项的值不推荐通过设置状态来更新,我们应该使用 form.setFieldValue 来更新
设置一组输入控件的值(注意:不要在 componentWillReceiveProps 内使用,否则会导致死循环)
1 | ({ [fieldName]: value }, |
Form.createFormField
用于标记 mapPropsToFields 返回的表单域数据
经过 getFieldDecorator 包装的控件,表单控件会自动添加 value(或 valuePropName 指定的其他属性) onChange(或 trigger 指定的其他属性),数据同步将被 Form 接管,这会导致以下结果:
- 不再需要也不应该用 onChange 来做同步,但还是可以继续监听 onChange 等事件。
- 不能用控件的 value defaultValue 等属性来设置表单域的值,默认值可以用 getFieldDecorator 里的 initialValue。
- 不应该用 setState,可以使用 this.props.form.setFieldsValue 来动态改变表单值。
评论
LivereValine