Redux形式:从外部包装的组件访问FieldArray字段prop

时间:2018-08-07 14:28:04

标签: reactjs redux-form react-redux-form

我有一个包含几个经典字段和两个FieldArray的表单。此FieldArrays位于单独的部分中,但相互关联。当我将一个项目添加到FieldArray A(一行不同类型的字段)时,应为FieldArray B建立另一行。 FieldArray A和B在表示字段的不同集合和结构的意义上是不同的,但是,当将行添加到A中时,必须将行添加到B中。

为了向FieldArray A添加一行,我遵循在FieldArray A的包装组件内部的prop字段中使用 push 方法的文档方法。但是,我无法访问只能从FieldArray B内的包装组件中访问该prop。

是否还有其他方法或方法可以从其外部访问FieldArray B的prop字段? formValues()或formValuesSelector()无效。

1 个答案:

答案 0 :(得分:1)

好吧,在挖掘了redux-form的隐藏功能文档之后……我发现您可以从redux-form的动作创建者中导入,尤其是arrayPush,它可以让您 push 通过指定如下形式的字段,字段数组名称和值来创建新的“行”字段:

给出一个id为“ myForm”,名称为“ nested_model_attributes”的FieldArray和一个value = [subfield1: 'A', subfield2: 2, ... ]的Redux表单

您可以调度以下内容:

arrayPush('myForm', 'nested_model_attributes', value)

然后瞧瞧……FieldArray添加了新的字段行:)。在这种情况下,这就是我在原始问题中提到的F​​ieldArrayB。我需要做的就是从我将新的一行字段推送到FieldArray A的地方调度此方法。