Angular 角形阵列单选按钮

Angular 角形阵列单选按钮,angular,Angular,我正在尝试将单选按钮组添加到FormArray。问题是,当我选择一个值时,它会更改FormArray中每个成员的值。我知道这与formControlName有关,但我不知道如何使formControlName动态化。我看过了,但它已经4年了,有点模糊;i、 例如,我无法从中得出明确的答案 这就是我目前拥有的: TS组件 HTML组件 ... ... 对 不 添加定义 工作起来很有魅力。万分感谢!小心点,我更新了答案,将代码添加到addDefinition //inputs and variab

我正在尝试将单选按钮组添加到FormArray。问题是,当我选择一个值时,它会更改FormArray中每个成员的值。我知道这与formControlName有关,但我不知道如何使formControlName动态化。我看过了,但它已经4年了,有点模糊;i、 例如,我无法从中得出明确的答案

这就是我目前拥有的:

TS组件 HTML组件

...
...
对
不
添加定义

工作起来很有魅力。万分感谢!小心点,我更新了答案,将代码添加到addDefinition
//inputs and variable initialization

ngOnInit() {
  this.createSensorForm();
}

createSensorForm() {
    this.sensorForm = this.fb.group({
      ...
      definitions: this.fb.array([this.createDefinition()])
  });
}

createDefinition(): FormGroup {
  return this.fb.group({
    numeric: [""],
  });
}

addDefinition() {
  this.definitions = this.sensorForm.get('definitions') as FormArray;
  this.definitions.push(this.createDefinition());
}
<form [formGroup]="sensorForm" (ngSubmit)="createSensor()">
  ...
  <div formArrayName="definitions" 
       *ngFor="let definition of sensorForm.get('definitions').controls; let i = index;">
    <div [formGroupName]="i">
      ...
      <input type="radio" [value]="true" 
             formControlName="numeric" [(ngModel)]="numeric"> Yes
      <input type="radio" [value]="false" 
             formControlName="numeric" [(ngModel)]="numeric"> No
    </div>
  </div>
    <button class="btn btn-primary" type="button" (click)="addDefinition()">
      <i class="fa fa-plus"></i> Add Definition
    </button>
</form>
<div *ngIf="sensorForm"  [formGroup]="sensorForm" (ngSubmit)="createSensor()>
  <!---first the name of array-->
  <div formArrayName="definitions">
      <!--after the loop using a div, this div has [fromGroupName]=i -->
      <div *ngFor="let definition of sensorForm.get('definitions').controls; 
                  let i = index;" [formGroupName]="i">
          <!--each element, only use formControlName, ¡NOT! [(ngModel)] -->
          <!-- ngModel is for Template driven Form  -->
          <input type="radio" [value]="true" formControlName="numeric" > Yes
          <input type="radio" [value]="false" formControlName="numeric" > No
      </div>
  </div>  
</div>
addDefinition() {
    const definitions = this.sensorForm.get('definitions') as FormArray;
    definitions.push(this.createDefinition());
  }