Как установить начальное значение / значение по умолчанию для массива, используемого <FieldArray />?

Я создавал форму с реактивно-окончательной формой. Эта форма имеет несколько условных полей, которые отображаются только тогда, когда пользователь нажимает флажок. Если флажок установлен, компонент отображается.

Это очень похоже на пример, который они приводят в документации, которую вы можете увидеть здесь. https://codesandbox.io/s/kx8qv67nk5

Я основываюсь на этом примере и могу добавить в массив полей кнопку, которая вызывает метод push, точно так же, как в примере.

То, что я хотел бы сделать, это не нажимать кнопку для того, чтобы поместить этот объект в массив, а использовать массив по умолчанию, который уже включает в себя один объект.

другими словами,

В приведенном примере массив начинается пустым, и вы нажимаете () в массив, поля, которые определены в

Как можно по умолчанию использовать один объект по умолчанию вместо его ручного нажатия?

Я не уверен, где этот массив определяется или инициализируется.

2 ответа

Решение

Loick M близок, но для массива вам понадобится:

<Form
  onSubmit={myOnSubmit}
  initialValues={{ musicians: [ { firstName: 'Bob', lastName: 'Marley' } ] }}>
  ...
</Form> 

Вы можете использовать "initialValues"

Пример:

import { Form } from "react-final-form";
...
myInitData = {
    firstName: "hello",
    lastName: "world"
}
...
render() {
    return 
        <Form
            initialValues={myInitData} 
            onSubmit={this.handleSubmit}
            validate={this.validate}
          >...
Другие вопросы по тегам