In an Angular reactive form. How to reset only the state of form after successful submit?
Here is the process:
setValue
from service resultHow to keep values as modified and reset the form to its pristine state.
A form.reset() simply empty the form. But if I don't call it, the state is not reset and for example my validations depending on form state classes (pristine, dirty, valid etc.) are still there.
The solution of @smnbbrv works pretty well.
You can also provide your actual form value to reset() method.
Given the fact myReactiveForm
is a Reactive form in your component. After successful submit of your form (by calling a service for example), then your can do:
this.myReactiveForm.reset(this.myReactiveForm.value);
It will reset the form and set the "new" form values to the same value you form had.
This method can be see within Tour of Hero example Official Angular.io doc