表单
Antd 中表单的使用
表单数据
数据存储外化
通过使用 onFieldsChange 与 mapPropsToFields,可以把表单的数据存储到上层组件或者 Redux、Dva 中。注意,mapPropsToFields 里面返回的表单域数据必须使用 Form.createFormField 包装。
const CustomizedForm = Form.create({
name: "global_state",
onFieldsChange(props, changedFields) {
props.onChange(changedFields);
},
mapPropsToFields(props) {
return {
username: Form.createFormField({
...props.username,
value: props.username.value
})
};
},
onValuesChange(_, values) {
console.log(values);
}
})(props => {
const { getFieldDecorator } = props.form;
return (
<Form layout="inline">
<Form.Item label="Username">
{getFieldDecorator("username", {
rules: [{ required: true, message: "Username is required!" }]
})(<Input />)}
</Form.Item>
</Form>
);
});