首页 > 解决方案 > 提交类型按钮 onClick 覆盖 Formik 表单的表单提交

问题描述

我有一个简单的表单,我有一个在表单之外提交它的按钮,问题是当我为同一个按钮提供额外的 onClicks 时,它会停止激活表单:

    <Formik
      initialValues={addDepartmentFormInitialValues}
      onSubmit={handleAddDepartment}
      validationSchema={addDepartmentFormValidationSchema}
    >
      <Form id={formId}>
        <Field type="text" id="name" name="name" />
        <ErrorMessage name="name" />
      </Form>
    </Formik>
    <Button type="submit" form={formId}>Done</Button>

如果我保持这样,它确实会提交表单并且一切正常,但是如果我这样做:

    <Button onClick={handleDone} type="submit" form={formId}>Done</Button>

然后它运行该handleDone函数,但不再提交表单(这意味着它onSubmit={handleAddDepartment}不会被触发,没有额外的onClick它!)。

标签: reactjsformik

解决方案


推荐阅读