防止 Formik 清除表单

Prevent Formik from clearing form

我有一个 Formik 表单,在验证所有字段并提交表单后,该表单会自动清除。这个表格的目的基本上是注册一个新用户,所以这是一个相当冗长的表格。

问题是有时用户输入的电子邮件已被使用,或者某些其他值从后端退回。对于用户来说,如果仅仅因为一个值不正确而要求您从头开始填写表格,那将是一件很烦人的事情。

如何防止 Formik 自动清除此表单,或者至少等待后端的响应,然后根据哪个错误清除或保留表单的值。

我的表单是这样构造的;

<Formik 
 initialValues,
 onSubmit
 validationSchema,
>
 {()=> return (
  <Form>
   <Field />
    //...quite a long form

遇到这种情况我该怎么办?

如果验证是在 client-side 上计算的,我认为你应该这样做。

在提交表单之前验证您的输入。

有效吗? submitForm() :通过错误字段的错误;

提及您的代码片段以便更好地理解。

没关系,谢谢你们,我开枪打自己的腿了。表单实际上并没有清除,我是根据请求的 success/failure 强制重定向到同一页面。这导致重新加载表单,因此所有以前的值都被清除。

非常感谢@pushparmar