Angular ngFor中的角度多重形式值

Angular ngFor中的角度多重形式值,angular,forms,reactive,Angular,Forms,Reactive,希望有人能帮我?我正在组件中构建一个表单,如下所示(版本未运行): 因此,您的表单位于一个*ngFor——但是它们都有相同的名称,那么代码如何区分它们呢?它们都必须有唯一的名称。如果添加索引,则可以为它们指定唯一的名称 <div *ngFor="let status of someService.monitoringStatus; let i=index;"> <form name="form{{i}}" [formGroup]=&qu

希望有人能帮我?我正在组件中构建一个表单,如下所示(版本未运行):


因此,您的表单位于一个
*ngFor
——但是它们都有相同的名称,那么代码如何区分它们呢?它们都必须有唯一的名称。如果添加索引,则可以为它们指定唯一的名称

<div *ngFor="let status of someService.monitoringStatus; let i=index;">
 <form name="form{{i}}" [formGroup]="form{{i}}" (ngSubmit)="updateStatus(form{{i}}.value,status.id)">
  <input type="text" formControlName="next_status{{i}}" value="{{status.old_status}}">
 </form>
</div>


然后可以使用
{{i}}
来区分它们

为什么
表单
元素在
*ngFor
循环中?您创建的
表单
元素与
状态
计数一样多。没错。我需要解决方案,以发送基于ngFor的表格。嗨,谢谢回答我的问题。我以前考虑过这个解决方案。但是form=newformgroup时,我的component.ts应该是什么样子呢({….将表单声明为form0,form1,…如果您包含ts代码,我可以根据您所拥有的内容帮助您使用语法我添加了ts代码您从何处获得
someService.monitoringStatus
来源?它是数组吗?它的类型是什么?理论上,您可以创建一个表单数组,然后如果
someService.monitoringStatus
提供一个数组,在它上面运行一个
foreach
,在那里你向数组中添加了另一个新表单。然后在HTML中,
forms[i]
而不是
form{{i}
我创建了一个repo,它完美地描述了这个问题。
  form = new FormGroup({
    next_status: new FormControl('', Validators.required)
  })


  updateStatus(value,id: any){
    this.someService.updateStatus(value,id).toPromise().then((data: any) => {  console.log(data)
    }).catch((err: HttpErrorResponse) => {
      console.error('Fehler:', err.error);
    });
  }
<div *ngFor="let status of someService.monitoringStatus; let i=index;">
 <form name="form{{i}}" [formGroup]="form{{i}}" (ngSubmit)="updateStatus(form{{i}}.value,status.id)">
  <input type="text" formControlName="next_status{{i}}" value="{{status.old_status}}">
 </form>
</div>