Я знаю, что Angular 2 в настоящее время отсутствует способ легко reset создать форму в первозданном состоянии. Высунувшись, я нашел решение, подобное приведенному ниже, которое сбрасывает поля формы.
Было высказано предположение, что мне нужно сбросить контрольную группу и создать новую, чтобы восстановить форму как нетронутую. Мне трудно понять, как это сделать. Я знаю, что мне нужно обернуть построение формы внутри функции, но я выполняю ошибки при выполнении этого внутри конструктора.
Каким будет наилучший способ полностью восстановить группу управления reset форму?
class App {
name: Control;
username: Control;
email: Control;
form: ControlGroup;
constructor(private builder: FormBuilder) {
this.name = new Control('', Validators.required);
this.email = new Control('', Validators.required);
this.username = new Control('', Validators.required);
this.form = builder.group({
name: this.name,
email: this.email,
username: this.username
});
}
onSubmit(value: any): void {
// code that happens when form is submitted
// then reset the form
this.reset();
}
reset() {
for (let name in this.form.controls) {
this.form.controls[name].updateValue('');
this.form.controls[name].setErrors(null);
}
}
}