Установить значение по умолчанию Field Array в Formik - PullRequest
0 голосов
/ 24 октября 2018

Я использую Formik для создания моей формы.

Моя форма имеет три текстовые области и 1 выпадающий список

Для выбора выберите, я использовал IssueSelect(как FieldArray в Formik).

И IssueSelect, я использовал для создания и обновления формы.

Мой компонент выглядит так:

const IssueSelect = ({ values }) => (


<FieldArray
    name="issues"
    render={({ remove, insert, push }) => (
      <div>
        {values.issues && values.issues.length > 0 ? (
          values.issues.map((iselected, index) => (
            <div key={uuidv1()}>
              <div>
                <Field
                  value={iselected.id}
                  component="select"
                  name={`issues.${index}`}
                >
                  {issues.map(issue => (
                    <option key={issue.id} value={issue.id}>
                      {issue.name}
                    </option>
                  ))}
                </Field>
              </div>

              <div>
                <button onClick={() => remove(index)}>
                  <b> - </b>
                </button>
                <button onClick={() => insert(index, issues[0].id)}>
                  <b> + </b>
                </button>
              </div>
            </div>
          ))
        ) : (
          <button onClick={() => push(issues[0].id)}>
            <b> + </b> Add new issue
          </button>
        )}
      </div>
    )}
  />
);

export default IssueSelect;

В Create Form все работает хорошо.

Но при обновлении формы я передал initialValue компоненту IssueSelect, он правильно показал данные, которые я передал.Но я не могу изменить опцию в окне выбора.

Я установил значение по умолчанию, передав value={iselected.id} Когда я передаю этот реквизит, в Create Form.Это больше не работает.

Вы можете проверить мои коды и поле, чтобы точно понять, что я имею в виду: https://codesandbox.io/s/rr1o8x3ppq

Заранее спасибо.

...