如何为 <FieldArray/> 使用的数组设置 initial/default 值?
How to set an initial/default value for the array used by <FieldArray/>?
我一直在用反应最终形式创建一个形式。此表单有一些条件字段,仅在用户单击复选框时显示。如果选中该复选框,则会呈现一个组件。
这与他们在文档中提供的示例非常相似,您可以在此处查看。 https://codesandbox.io/s/kx8qv67nk5
我以那个例子为基础,我可以用一个调用 push 方法的按钮添加到字段数组中,就像在例子中一样。
我想做的不是必须按下按钮才能将该对象推入数组,而是让数组默认已经包含一个对象。
换句话说,
在提供的示例中,数组开始为空,然后将 push() 推入数组,
中定义的字段
如何让它默认已经有一个对象而不是手动推送它?
我不确定该数组是在哪里定义或初始化的。
您可以使用"initialValues"
示例:
import { Form } from "react-final-form";
...
myInitData = {
firstName: "hello",
lastName: "world"
}
...
render() {
return
<Form
initialValues={myInitData}
onSubmit={this.handleSubmit}
validate={this.validate}
>...
Loick M 很接近,但对于数组,您需要:
<Form
onSubmit={myOnSubmit}
initialValues={{ musicians: [ { firstName: 'Bob', lastName: 'Marley' } ] }}>
...
</Form>
我一直在用反应最终形式创建一个形式。此表单有一些条件字段,仅在用户单击复选框时显示。如果选中该复选框,则会呈现一个组件。
这与他们在文档中提供的示例非常相似,您可以在此处查看。 https://codesandbox.io/s/kx8qv67nk5
我以那个例子为基础,我可以用一个调用 push 方法的按钮添加到字段数组中,就像在例子中一样。
我想做的不是必须按下按钮才能将该对象推入数组,而是让数组默认已经包含一个对象。
换句话说,
在提供的示例中,数组开始为空,然后将 push() 推入数组,
中定义的字段如何让它默认已经有一个对象而不是手动推送它?
我不确定该数组是在哪里定义或初始化的。
您可以使用"initialValues"
示例:
import { Form } from "react-final-form";
...
myInitData = {
firstName: "hello",
lastName: "world"
}
...
render() {
return
<Form
initialValues={myInitData}
onSubmit={this.handleSubmit}
validate={this.validate}
>...
Loick M 很接近,但对于数组,您需要:
<Form
onSubmit={myOnSubmit}
initialValues={{ musicians: [ { firstName: 'Bob', lastName: 'Marley' } ] }}>
...
</Form>