Entiende el código correctamente previamente a usarlo a tu trabajo si ttienes algo que aportar puedes compartirlo con nosotros.
Solución:
Hola @Aximili puedes usar resetForm
en onSubmit.
onSubmit=(values, resetForm ) =>
// do your stuff
resetForm();
qué resetForm
¿puede hacer?
Restablecer imperativamente el formulario. Esto borrará los errores y tocará, establezca isSubmitting to falseestá validando para falsey vuelva a ejecutar mapPropsToValues con los accesorios del WrappedComponent actual o lo que se pasa como argumento. Este último es útil para llamar a resetForm dentro de componentWillReceiveProps.
No estoy completamente seguro, pero creo que tendrá que escribir su propia función de reinicio sin un botón con un reset
escribe. Algo como esto:
const handleReset = (resetForm) =>
if (window.confirm('Reset?'))
resetForm();
;
function Example()
return (
formProps =>
return (
);
);
Si realmente quieres usar onReset
, Creo que la única forma es arrojar un error. El código fuente de Formik parece indicar resetForm()
será llamado sin importar cuál sea su onReset()
la función devuelve.
const handleReset = () =>
if (!window.confirm('Reset?'))
throw new Error('Cancel reset');
;
function Example()
return (
formProps =>
return (
);
);
Todavía iría con la primera solución, aunque personalmente.
Entiendo que la pregunta de OP era para Formik
.
Sin embargo, para cualquiera que use useFormik
gancho y querer borrar el formulario al hacer clic en el botón ‘restablecer’, aquí hay una forma de lograrlo.