添加新字段时,将默认值赋予FieldArray中的redux-form字段

时间:2019-01-23 18:31:25

标签: javascript reactjs redux-form

过去在redux-form的早期版本中,您可以将initialValue道具直接传递给字段,而不是在initialValues函数中传递mapStateToProps值。现在看来您只能做后者。

我想知道如何将字段数组中新推送的字段的默认值设置为“ Field No.2”(我将使用传递给该字段的索引来获取数字,我更麻烦如何传递默认值。)

1 个答案:

答案 0 :(得分:1)

当您将新条目推送到数组时,可以传递初始值。 在redux-form文档中给出了示例:


const renderSubFields = (member, index, fields) => (
  <li key={index}>
    <button
      type="button"
      title="Remove Member"
      onClick={() => fields.remove(index)}
    />
    <h4>Member #{index + 1}</h4>
    <Field
      name={`${member}.firstName`}
      type="text"
      component={renderField}
      label="First Name"
    />
    <Field
      name={`${member}.lastName`}
      type="text"
      component={renderField}
      label="Last Name"
    />
  </li>
)
const renderMembers = ({ fields }) => (
  <ul>
    <button type="button" onClick={() => fields.push({ firstname: 'field 1 firstname', lastname: 'field 1 lastname' })}>
      Add Member
    </button>
    {fields.map(renderSubFields)}
  </ul>
)