天天看点

Ant Design表单重置

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);
      }
    }
}
           

继续阅读