resetForm(e: MouseEvent): void {
e.preventDefault();
this.validateForm.reset();
for (const key in this.validateForm.controls) {
this.validateForm.controls[key].markAsPristine();
this.validateForm.controls[key].updateValueAndValidity();
}
}
文档上的重置功能
但是遇到有默认值的,比如select有默认选项的,重置时直接value.属性=属性值,并不奇效
解决:
resetForm(e: MouseEvent): void {
e.preventDefault();
for (const [controlName, control] of Object.entries(this.searchProductForm.controls)) {
if (controlName === 'approvalStatus') {
control.patchValue(3);
} else {
control.patchValue(null);
}
}
}