Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度反应表单:如何在不知道HTML中的键的情况下访问组中的表单控件名称_Angular_Angular Reactive Forms - Fatal编程技术网

Angular 角度反应表单:如何在不知道HTML中的键的情况下访问组中的表单控件名称

Angular 角度反应表单:如何在不知道HTML中的键的情况下访问组中的表单控件名称,angular,angular-reactive-forms,Angular,Angular Reactive Forms,我使用反应式角度表单来构建表单,下面是在主表单组中添加嵌套表单组的函数。嵌套表单组已根据发送的参数从控件中删除 表单组正在正确构建 我的问题是: 如果它是表单组中定义的预定义键集,我们可以使用formControlName='key'从HTML表单访问它,但在我的情况下,因为我事先不知道表单控件引用键,所以我不确定如何在HTML中引用表单控件 .ts文件 表单模型函数: buildForm(type:string, params: {name: string,required: bool

我使用反应式角度表单来构建表单,下面是在主表单组中添加嵌套表单组的函数。嵌套表单组已根据发送的参数从控件中删除

表单组正在正确构建

我的问题是:

如果它是表单组中定义的预定义键集,我们可以使用formControlName='key'从HTML表单访问它,但在我的情况下,因为我事先不知道表单控件引用键,所以我不确定如何在HTML中引用表单控件

.ts文件

表单模型函数:

    buildForm(type:string, params: {name: string,required: boolean}[]) {
          let pathParamFormGroup: FormGroup;
          let formControls = {};

          params.forEach((param: {name: string,required: boolean}) => {
              const {name, required} = param;
              formControls[name] = new FormControl('', required ? Validators.required: null);
          });

          pathParamFormGroup = new FormGroup(formControls);
          this.form.addControl(type, pathParamFromGroup);
    }
html

您可以使用*ngFor直接迭代formGroup的controls属性以访问表单控件

看看我在stackblitz上做的这个例子:

<form (ngSubmit)="sendRequest()" [formGroup]="requestForm"> 
  <ng-container formGroupName="query">
    <input formControlName="????" type="text"> --> Not sure how to get the form control names within a form group in html. 
  </ng-container>
</form>