我有一个简单的Formik表单,在这个表单中,提交方法只是将输出到控制台。结构如下:
// Submit Form: Custom method referenced in Formik
const submitForm = async (formValues) => {
console.log(JSON.stringify(formValues));
};
<Formik
enableReinitialize
validationSchema={schema}
onSubmit={ (values) => {
submitForm(values); // call my custom Submit method above
}}
initialValues={initialFormValues}
>
{
({handleSubmit, handleChange, values, touched, errors, isSubmitting})
=> (
<Form onSubmit={handleSubmit}> {/* Form starts here */}
...
<Button type="submit" disabled={isSubmitting}>Search</Button>
</Form>
)
}
</Formik>
如果有验证错误,则单击后,提交按钮正确地在启用。
但是,如果没有验证错误,我会输出到控制台,并且即使我完成了,提交保持禁用。
在这个例子中,isSubmitting
什么时候设置回 FALSE?