前言:在AntDesignPro3.23.6
版本中,form表单绑定值是应用的getFieldDecorator
办法赋值配合validateFields
办法取值达到双向绑定的成果.那在AntDesignPro 4.0
版本中如何赋值取值呢?
AntDesignPro3.23.6
版本示例:
// 赋值
<Form
labelCol={{ span: 6 }}
wrapperCol={{ span: 14 }}
onSubmit={this.handleSubmit}
>
<Form.Item>
{getFieldDecorator('money',{
rules=[{
required: true,
message: '请输出金额',
}],
})(
<InputNumber
min={0}
onChange={value => console.log(value) })}
placeholder="请输出金额"
/>
)}
</Form.Item>
</Form>
// 取值
handleSubmit () =>{
this.props.form.validateFields((err, values) => {
if (!err) {
// 这样就拿到了输出的金额
const money = values.money
}
})
}
AntDesignPro4.0
版本示例:
// 赋值
<Form
labelCol={{ span: 6 }}
wrapperCol={{ span: 14 }}
onSubmit={this.handleSubmit}
>
<Form.Item
label="金额"
name="money"
rules={[
{
required: true,
message: '请输出金额',
},
]}
>
<InputNumber
min={0}
onChange={value => console.log(value) })}
placeholder="请输出金额"
/>
</Form.Item>
</Form>
// 取值
handleSubmit () =>{
const { validateFields } = form;
const onValidateForm = async () => {
const values = await validateFields();
// 这样就拿到了输出的金额
const money = values.money
}
}
总结:3.23.6
版本:
赋值:getFieldDecorator
办法.
取值:validateFields
办法.
校验:rules
在getFieldDecorator
办法内.
4.0
版本:
赋值:Form.Item
的name
属性间接赋值.
取值:validateFields
办法.
校验:Form.Item
的rules
属性间接校验.
发表回复