How to clear form after submit in Angular 2?
See also https://angular.io/docs/ts/latest/guide/reactive-forms.html (section "reset the form flags")
>=RC.6
In RC.6 it should be supported to update the form model. Creating a new form group and assigning to myForm
[formGroup]="myForm"
will also be supported (https://github.com/angular/angular/pull/11051#issuecomment-243483654)
>=RC.5
form.reset();
In the new forms module (>= RC.5) NgForm
has a reset()
method and also supports a forms reset
event.
https://github.com/angular/angular/blob/6fd5bc075d70879c487c0188f6cd5b148e72a4dd/modules/%40angular/forms/src/directives/ng_form.ts#L179
<=RC.3
This will work:
onSubmit(value:any):void {
//send some data to backend
for(var name in form.controls) {
(<Control>form.controls[name]).updateValue('');
/*(<FormControl>form.controls[name]).updateValue('');*/ this should work in RC4 if `Control` is not working, working same in my case
form.controls[name].setErrors(null);
}
}
See also
- https://github.com/angular/angular/issues/6196
- https://github.com/angular/angular/issues/6169
- https://github.com/angular/angular/issues/4933
- https://github.com/angular/angular/issues/4914
- https://github.com/angular/angular/issues/6371
As of Angular2 RC5, myFormGroup.reset()
seems to do the trick.