如何为 <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>