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; });