访问父级中的 formsection 子级表单值(redux-form)
accessing formsection children form values in parent (redux-form)
ParentForm.js
<FormSection name="ChildRequestForm">
<ChildForm />
</FormSection>
在 ParentForm 中提交表单时,它应该从 ChildForm 组件获取值,这工作正常。
但是一旦 ChildForm 组件连接了 reduxForm
例如:
ChildForm = reduxForm({
form: 'ChildRequestForm'
})(ChildForm);
那么父表单将无法在提交时检索子表单的值。
我不得不用 reduxForm 包装子组件,因为表单需要分派 'change' 函数并需要访问 formvalueSelector
沙盒Link
https://codesandbox.io/s/jj1mk114n5
有什么帮助吗?
子窗体应与父窗体同名(在您的示例中为 'foo')。因此,要使子表单名称动态化,请将 formname 道具传递给您的子组件,并使用 mapstatetoprops ownprops 使用它。
通过这种方式,您可以在任何需要的时候重用具有父 formname 的子组件。
参考dis
How do you pass in a dynamic form name in redux form?
ParentForm.js
<FormSection name="ChildRequestForm">
<ChildForm />
</FormSection>
在 ParentForm 中提交表单时,它应该从 ChildForm 组件获取值,这工作正常。
但是一旦 ChildForm 组件连接了 reduxForm 例如:
ChildForm = reduxForm({
form: 'ChildRequestForm'
})(ChildForm);
那么父表单将无法在提交时检索子表单的值。
我不得不用 reduxForm 包装子组件,因为表单需要分派 'change' 函数并需要访问 formvalueSelector
沙盒Link https://codesandbox.io/s/jj1mk114n5
有什么帮助吗?
子窗体应与父窗体同名(在您的示例中为 'foo')。因此,要使子表单名称动态化,请将 formname 道具传递给您的子组件,并使用 mapstatetoprops ownprops 使用它。
通过这种方式,您可以在任何需要的时候重用具有父 formname 的子组件。
参考dis How do you pass in a dynamic form name in redux form?