Формик, использующий начальные значения, чтобы установить флажок со значением

#reactjs #formik

Вопрос:

Похоже, что Formik может загружаться только initialValues для флажка, если у него нет значения, передавая значение (например initialValues={{ 'checkboxName': true }} ). Однако, если флажку присвоено значение, значение initialValue, похоже, не переключает его.

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

Пример кода [или здесь для песочницы]:

 <Formik initialValues={{ isEnabled: "1" }}>
  <div>
    <Field type="checkbox" name="isEnabled" value="1" />
    <Field type="checkbox" name="isEnabled" value="2" />
  </div>
</Formik>
 

Ответ №1:

У вас есть несколько флажков с одинаковым именем, поэтому initialValues они должны быть массивом

Решение:

     <Formik initialValues={{ isEnabled: ["1"] }}>
      <div>
        <Field type="checkbox" name="isEnabled" value="1" />
        <Field type="checkbox" name="isEnabled" value="2" />
      </div>
    </Formik>