Saltar al contenido

Formik – Cómo restablecer el formulario después de la confirmación

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.

¡Haz clic para puntuar esta entrada!
(Votos: 6 Promedio: 4.8)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *