Ant-Design-組件-——-Form表單(一)

Ant Design of React @3.10.9javascript

拉取項目 luwei.web.study-ant-design-pro, 切換至 query 分支,可看到 Form 表單實現效果html

實現一個查詢表單

查詢表單

思路

  1. Create表單:@Form.create()
  2. 表單數據綁定 getFieldDecorator
  3. 渲染查詢表單的查詢條件 render <Form.Item>
  4. 獲取查詢條件的值 validateFields

代碼

1. Create表單:@Form.create()

Form.create()

這是一個高階函數,傳入的是react組件,返回一個新的react組件,在函數內部會對傳入組件進行改造,添加上必定的方法用於進行一些祕密操做 若是有對高階組件有想要深刻的請移步《深刻理解 React 高階組件》,咱們這裏不作過多的深究。java

Form.create() 包裝過的組件會自帶 this.props.form 屬性react

// 使用方式以下:
class CustomizedForm extends React.Component {}
CustomizedForm = Form.create({})(CustomizedForm);

代碼中結合 @修飾器,用 @Form.create() 進行建立。git

2. 表單數據綁定 getFieldDecorator

getFieldDecorator(id, options)

用於和表單進行雙向綁定es6

<!-- 表單數據綁定 -->
<Form.Item {...formItemLayout} label={'名稱'}>
	{getFieldDecorator('searchName')(
		<Input placeholder={'請輸入名稱'} />
	)}
</Form.Item>

3. 渲染查詢表單的查詢條件 render <Form.Item>

在定義表單字段的時候,渲染到頁面中,與步驟2代碼一致github

更多FormItem屬性請參考Ant Design - Form - Form.Itemweb

4. 獲取查詢條件的值 validateFields

form.validateFields / validateFieldsAndScroll

校驗並獲取一組輸入域的值與 Error,若 fieldNames 參數爲空,則校驗所有組件antd

const { form } = this.props;

// 獲取並檢查表單數據
form.validateFields((err, fieldsValue) => {
  	if (err) return;
  	const { searchName = '' } = fieldsValue;
});

深刻了解

相關文章
相關標籤/搜索