添加新字段时为 FieldArray 中的 redux-form 字段提供默认值
Giving a default value to redux-form Field in a FieldArray when adding new Fields
以前在 redux-form 的早期版本中,您可以将 initialValue
道具直接传递给字段,而不是在 mapStateToProps
函数中传递 initialValues
值.现在看来只能做后者了
我想知道如何将我的字段数组中新推送的字段的默认值设置为 "Field No.2" 之类的东西(我会使用传递给该字段的索引来获取数字,我是更难过如何传递默认值。)
您可以在将新条目推送到数组时传递初始值。
鉴于 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>
)
以前在 redux-form 的早期版本中,您可以将 initialValue
道具直接传递给字段,而不是在 mapStateToProps
函数中传递 initialValues
值.现在看来只能做后者了
我想知道如何将我的字段数组中新推送的字段的默认值设置为 "Field No.2" 之类的东西(我会使用传递给该字段的索引来获取数字,我是更难过如何传递默认值。)
您可以在将新条目推送到数组时传递初始值。 鉴于 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>
)