Redux-Form可重复字段

时间:2016-08-17 19:22:54

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

我正在使用Redux-Form v.5.2.3。我有一个文本输入需要重复x次,具体取决于用户点击按钮的次数。 目前,因为我生成具有相同字段名称的相同输入字段,所以它不起作用。当我在一个输入上键入内容时,它会自动在其他输入中键入相同的内容 - 这是因为名称相同。

我正在考虑生成一个唯一的ID并将其附加到字段“name' - 例如:

原始字段:

姓名:<input type="text" {...name}>

第二个字段 - 按下按钮后生成:

姓名:<input type="text" {...name2}>

X字段 - 按下x按钮后生成:

姓名:<input type="text" {...nameX}>

任何想法是否有效以及如何实施的例子?

提前致谢

2 个答案:

答案 0 :(得分:1)

我会在RF文档中查看deep forms

尝试解决这个问题,但根据我的理解,您可以使用[]表示法定义字段数组。

export const fields = [
  'name[]',
];

然后使用addField(value?, index?)添加其他字段。然后,您可以将this.props.fields.name视为name字段数组来访问每个字段。

对于您的情况,我认为它看起来应该像

<div>
  {this.props.fields.name.map((field, index) => (
    <input key={index} type="text" {...field} />
  )}
</div>

答案 1 :(得分:0)

您可以使用redux-from v6.0.0。在此版本中,您可以将FieldArray用于数组字段。