我有一个包含几个经典字段和两个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()无效。
答案 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添加了新的字段行:)。在这种情况下,这就是我在原始问题中提到的FieldArrayB。我需要做的就是从我将新的一行字段推送到FieldArray A的地方调度此方法。