Ant Design of React @3.10.9javascript
拉取项目 luwei.web.study-ant-design-pro, 切换至
query
分支,可看到 Form 表单实现效果html
@Form.create()
getFieldDecorator
render <Form.Item>
validateFields
@Form.create()
这是一个高阶函数,传入的是react组件,返回一个新的react组件,在函数内部会对传入组件进行改造,添加上必定的方法用于进行一些秘密操做 若是有对高阶组件有想要深刻的请移步《深刻理解 React 高阶组件》,咱们这里不作过多的深究。java
经 Form.create()
包装过的组件会自带 this.props.form
属性react
// 使用方式以下: class CustomizedForm extends React.Component {} CustomizedForm = Form.create({})(CustomizedForm);
代码中结合 @
的修饰器,用 @Form.create()
进行建立。git
getFieldDecorator
用于和表单进行双向绑定es6
<!-- 表单数据绑定 --> <Form.Item {...formItemLayout} label={'名称'}> {getFieldDecorator('searchName')( <Input placeholder={'请输入名称'} /> )} </Form.Item>
render <Form.Item>
在定义表单字段的时候,渲染到页面中,与步骤2代码一致github
更多FormItem属性请参考Ant Design - Form - Form.Itemweb
validateFields
校验并获取一组输入域的值与 Error,若 fieldNames 参数为空,则校验所有组件antd
const { form } = this.props; // 获取并检查表单数据 form.validateFields((err, fieldsValue) => { if (err) return; const { searchName = '' } = fieldsValue; });