在没有*ngFor的情况下,在FormArray中引用FormGroup,可以通过以下步骤解决问题:
下面是一个示例代码:
在组件中:
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, FormArray } from '@angular/forms';
@Component({
selector: 'app-example',
templateUrl: './example.component.html',
styleUrls: ['./example.component.css']
})
export class ExampleComponent implements OnInit {
formArray: FormArray;
constructor(private formBuilder: FormBuilder) { }
ngOnInit() {
this.formArray = this.formBuilder.array([]);
const formGroup = this.formBuilder.group({
name: '',
age: ''
});
this.formArray.push(formGroup);
}
}
在模板中:
<form [formGroup]="formArray">
<div formArrayName="formArray">
<div *ngFor="let group of formArray.controls; let i = index">
<div [formGroupName]="i">
<input formControlName="name" placeholder="Name">
<input formControlName="age" placeholder="Age">
</div>
</div>
</div>
</form>
在上述示例中,我们创建了一个空的FormArray对象,并在组件的构造函数中初始化了FormBuilder。然后,我们创建了一个FormGroup对象,并将其添加到FormArray中。在模板中,我们使用*ngFor循环遍历FormArray的controls属性,获取所有的FormGroup对象,并使用[formGroupName]指令将其绑定到相应的索引值上。
这样,我们就可以在没有*ngFor的情况下,在FormArray中引用FormGroup了。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云