Form 表单记录


3.x 版本 antd 文档表明表单项的值不推荐通过设置状态来更新,我们应该使用 form.setFieldValue 来更新

设置一组输入控件的值(注意:不要在 componentWillReceiveProps 内使用,否则会导致死循环)

1
2
3
({ [fieldName]: value },
callback: Function
) => void

Form.createFormField

用于标记 mapPropsToFields 返回的表单域数据

经过 getFieldDecorator 包装的控件,表单控件会自动添加 value(或 valuePropName 指定的其他属性) onChange(或 trigger 指定的其他属性),数据同步将被 Form 接管,这会导致以下结果:

  1. 不再需要也不应该用 onChange 来做同步,但还是可以继续监听 onChange 等事件。
  2. 不能用控件的 value defaultValue 等属性来设置表单域的值,默认值可以用 getFieldDecorator 里的 initialValue。
  3. 不应该用 setState,可以使用 this.props.form.setFieldsValue 来动态改变表单值。