Angular Form 重置值并设置其所有初始值而不是 null

dav*_*r21 4 angular angular-forms

例如我有下面的表格。

searchForm = new FormGroup({
    firstName: new FormControl(''),
    lastName: new FormControl('')
  })
Run Code Online (Sandbox Code Playgroud)

问题是,当我使用searchForm.reset()初始值设置为null而不是空字符串时'',我在FormControl.

我试过做下面的代码并且它有效。问题是,例如我有 20 FormControl,我需要全部输入并初始化它.reset({firstName:'', other20properties..})

this.searchForm.reset(
      {
        firstName: '',
        lastName: ''
      }
    );
Run Code Online (Sandbox Code Playgroud)

有没有办法重置表单并将其所有初始值设置为空字符串''

Par*_*ain 7

在这些类型的场景中,最好将表单初始化包装到一个单独的方法中,然后form.reset像这样调用该方法-

formInit() {
 searchForm = new FormGroup({
    firstName: new FormControl(''),
    lastName: new FormControl('')
 })
}


anotherFunction() {
  this.searchForm.reset();
  this.formInit();
}
Run Code Online (Sandbox Code Playgroud)