首页 > 解决方案 > 访问 getFieldDecorator antd 3x

问题描述

我正在尝试在 React 功能组件中访问 antd 3x 中的属性 getFieldDecorator ,但是我没有设法这样做,我已经搜索了一段时间,找不到任何关于将 getFieldDecorator 与无状态组件(功能组件)一起使用的参考,我想知道是否有人遇到了同样的问题,以及您是否设法解决了它而无需更改为类组件。

我的代码很简单,一个包含在 Form.Item 中的输入

const FormItem = Form.Item

const inviteModal = ( {props}) => {
return(
  <Form layout="vertical">
             <FormItem>
              {getFieldDecorator('email', {
                rules: [
                  {
                    required: true,
                    message: i18n.t('email'),
                  },
                ],
              })(<Input type="text" placeholder="email" />)}
            </FormItem> 
          
     )
}


export default Form.create()(inviteModal)

试图访问“道具”给出了未定义的,也写了我的导出默认值,如:


export default Form.create({getFieldDecorator})(inviteModal)

也不行。

我可能会在表单中使用类组件,但如果有人能向我介绍一下学习的动力,我将不胜感激。

标签: reactjsformsantd

解决方案


事实证明这是可能的,唯一的问题是如何导入道具,所以基本上要使用它,您必须从组件访问道具对象,例如:

const InviteModal = (props) => {
  const {getFieldDecorator} = props.form

你去了,很好,工作,希望这可以帮助别人


推荐阅读