Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React中带有getFieldDecorator的嵌套Antdesign表单_Javascript_Reactjs_Antd - Fatal编程技术网

Javascript React中带有getFieldDecorator的嵌套Antdesign表单

Javascript React中带有getFieldDecorator的嵌套Antdesign表单,javascript,reactjs,antd,Javascript,Reactjs,Antd,我有一个Antdesign表单,它有一个子组件,使用两个输入组件、两个日期选择器和一个按钮显示对象数组的列表 当使用嵌套的AntD组件渲染时,是否可能使用功能组件来使用getFielDecorator?如果是这样,如何将getFieldDecorator传递给AntD嵌套的FormItem 请参阅我在此附上的图片,它显示了父组件“OverallInfo”及其子组件TradeListItems,TradeListItems在其中呈现TradeItem列表 非常感谢。Form.create()(My

我有一个Antdesign表单,它有一个子组件,使用两个输入组件、两个日期选择器和一个按钮显示对象数组的列表

当使用嵌套的AntD组件渲染时,是否可能使用功能组件来使用getFielDecorator?如果是这样,如何将getFieldDecorator传递给AntD嵌套的FormItem

请参阅我在此附上的图片,它显示了父组件“OverallInfo”及其子组件TradeListItems,TradeListItems在其中呈现TradeItem列表

非常感谢。

Form.create()(MyComponent)
将向MyComponent注入
Form
道具

这是
getFieldDecorator
工作所需的唯一东西

这样的办法应该行得通

class Parent extends React.Component{

  render() {
   <ChildComponent form={this.props.form} />
  }
}

export default Form.create()(Parent);
不管有多少个孩子,但你不应该在另一个孩子里面有一个

更新:

我根据AntdDoc中的登录表单示例创建了一个示例

您将看到我将密码字段作为一个功能组件,就像您的
TradeItem
组件一样。然后我有另一个类似于您的
ListTradeItem
组件,我刚才复制了几个密码字段,您可以认为这是一个登录表单,您需要输入3个密码才能登录

您将看到所有3个密码字段都可以独立正常工作,
getFieldDecorator
也可以正常工作(只有输入3个密码,登录按钮才会启用)


希望这对您有所帮助。

您的代码很难理解,您能提供一个吗?谢谢您的反馈。我只是尽量减少了“OverallInfo”的代码组件。我想知道这是否是现在的最低限度。谢谢你的输入。我可能没有很好地解释它。我将附上我的组件是什么的图片。我的两个子组件是无状态功能组件,在antD网站上说:"特别注意#getFieldDecorator不能用于修饰无状态组件react@I试图通过使问题更加连贯和添加插图来改进我的问题,希望我能找到解决方案。任何方法都非常受欢迎。嗨,我创建了一个例子,希望它能帮助你理解我的意思。你好,伊查兹,非常感谢你的例子确实帮助我解决了这个问题。把表格作为道具传递给我是非常有帮助的。再次非常感谢
export default class ChildComponent extends React.Component{

  render() {
    const {getFieldDecorator} = this.props.form;
    return (
      // do FormItem
    )
  }
}