Ant Design 組件提供了Input,InputNumber,Radio,Select,uplod等表單組件,但實(shí)際開發(fā)中這是不能滿足需求,同時(shí)我們希望可以繼續(xù)使用Form提供的驗(yàn)證和提示等方法(使用起來確實(shí)很爽),這時(shí)需要自己動(dòng)手封裝一些表單,同時(shí)我們還要保持方法可以繼續(xù)是使用。
組件的源碼 https://github.com/haozhaohang/ant-design-expand-component
下面看一下如何自己封裝表單組件,這是一個(gè)最基礎(chǔ)的表單使用例子:
import React, { PureComponent } from 'react' import { Button, Form, Input, Radio } from 'antd' import FormItem from 'components/FormItem' const RadioGroup = Radio.Group const options = [ { label: '男', value: 1 }, { label: '女', value: 2 }, ] class Test extends PureComponent { handleSubmit = (e) => { e.preventDefault(); const { form: { validateFields } } = this.props; validateFields((errors, values) => { if (errors) { return; } console.log(values) }) } render() { const { form: { getFieldDecorator } } = this.props const nameDecorator = getFieldDecorator('name') const sexDecorator = getFieldDecorator('sex') return (); } } export default Form.create()(Test)