Formik 使用 initialValues 来检查具有值的复选框

Formik using initialValues to check a checkbox with value

Formik 似乎只能通过传递值(例如 initialValues={{ 'checkboxName': true }})为没有值的复选框加载 initialValues。 但是,如果复选框已分配值,则 initialValue 似乎不会切换它。

我原以为传递值会选中相应的复选框,但事实并非如此。有关如何处理此问题的任何提示?

示例代码[or here for sandbox]:

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

您有多个同名的复选框,因此 initialValues 应该是一个数组

解决方法:

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