FormGroup,获取 FormControl 的名称而不是 Angular 中的数字

FormGroup, get names of FormControl instead of numbers in Angular

我的代码中有:

  private buildFormGroup() {
    const internalFormGroup = this.formBuilder.group({
      document: ['', [Validators.required, Validators.min(this.minValueDocument)]],
      company: ['', [Validators.required]],
      typeClient: ['', [Validators.required]],
      textRequest: ['', [Validators.required, Validators.minLength(this.minNumberCharPerRequest)]],
      files: [''],
      myKey: ['myValue'],
    });

    return internalFormGroup;
  }

在我的构造函数中,我在 :

之后有这几行
this.formGroup = this.buildFormGroup();

for(let item in Object.keys(this.formGroup.controls)) {
  console.log(item)
}
for(let item in this.formGroup.controls) {
  console.log(this.formGroup.controls[item])
}

但是,我只得到数字,value 显示为空!!!

我忘记了什么? 如何获取控件的 name(而不是它的 Value)?

对于我之前的例子:我想得到:document, company, typeClient, textRequest,files, myKey

for...in 语句遍历对象的所有 可枚举属性 ,这些属性由字符串键入。 MDN docs

由于您已经将控件中的键提取到数组中,因此 for...in 循环访问数组键。

您必须直接在 formGroup.controls 上使用 for...in

for(let item in this.formGroup.controls) {
  console.log(item)
}

或改用for...of

for(let item of Object.keys(this.formGroup.controls)) {
  console.log(item)
}

干杯