Xavier, miembro de este equipo de trabajo, nos hizo el favor de escribir este escrito porque conoce a la perfección el tema.
Solución:
El grupo de formularios no tiene “conocimiento” sobre si el formulario HTML real se ha enviado o no. Solo realiza un seguimiento de los valores del formulario/validez/estado habilitado. Por lo tanto, restablecer el grupo de formularios restablece los valores pero no cualquier estado con respecto a si el formulario ha sido submitted
.
Para hacer esto, necesita obtener una bodega de la FormGroupDirective
y llama resetForm()
en eso.
Fragmento de código de formulario
en el componente
@ViewChild(FormGroupDirective) formDirective: FormGroupDirective;
onSubmit(form: FormGroup)
// do work
this.formDirective.resetForm();
Esta solución funciona conmigo. Tienes que hacer lo siguiente:
formReset(form: FormGroup)
form.reset();
Object.keys(form.controls).forEach(key =>
form.get(key).setErrors(null) ;
);
Esto restablece el formulario y borra todos los errores.
Comentarios y calificaciones del tutorial
Nos puedes añadir valor a nuestra información dando tu experiencia en las reseñas.