绑定数据数组以在 angular 中形成数组

bind an array of data to form array in angular

我有一个使用表单数组的表单。 在 getstudentsArray 中,我正在获取学生的数据。 我想使用 ngfor 在 formarray 中显示此动态数据。 请帮我将getstudentsArray 数组绑定到html 表单数组中 你能解决我的问题吗? 提前致谢。

HTML

<span formArrayName="times">
<a (click)="addGroup()">Add New Textfield</a>
<span  *ngFor="let time of timesArray.controls; let i = index;">
  <span [formGroupName]="i">                         
    <input type="text" class="form-control" formControlName="lists" placeholder="enter dropdown options">  
  </span>
</span>
</span>
getstudentsArray: any = [];

getStudentDetails(){
  const obj: any = {
    ID: this.stu_id
  }
  this.service.postmethod('studentsDetails', obj).subscribe((res: any) => {
    this.respon= res;
    this.getstudentsArray = this.respon.test;
  });
}
{
    "test": [
        {"id": 1,"class": 5,"name": "john"},
        {"id": 2,"class": 5,"name": "tim"},
        {"id": 3,"class": 5,"name": "alex"},   
    ]
}

这是您的工作解决方案: https://stackblitz.com/edit/angular-xeuupi

首先您需要创建对象的表单组,然后您需要将这些组推送到数组中。如果你想添加,我也添加了验证器功能。

对于验证者你可以说:

this.validators = {
   'name': Validators.compose([Validators.required, Validators.maxLength(50)])
};

并且您需要在 createFormGroup(...) 方法中传递 this.validator 而不是空白对象 {}。