我有两个FormGroup在一个FormArray里
setRubricaDosForm: FormGroup;
ngOnInit() {
this.setRubricaDosForm = this.fb.group({
rubrica: this.fb.array([
this.fb.group({
nombreUno: ["", Validators.required],
puntajeUno: [
"",
[Validators.required, Validators.pattern("/^-?(0|[1-9]d*)?$/")]
]
}),
this.fb.group({
nombreDos: ["", Validators.required],
puntajeDos: [0]
})
])
});
}
//a getter for the array controls
get rubrica(){
return this.setRubricaDosForm.get('rubrica') as FormArray;
}
然后在我的模板中我有这个。
<form [formGroup]="setRubricaDosForm" novalidate (ngSubmit)="submit()">
<div formArrayName="rubrica">
//here i've also tried formGroupName="setRubricasDosForm.controls[0].get('rubrica').controls[0]
<div [formGroupName]="rubrica.controls[0]">
<input formControlName="nombreUno">
<input formControlName="puntajeUno">
</div>
<div [formGroupName]="rubrica.controls[1]">
<input formControlName="nombreDos">
<input formControlName="puntajeDos">
</div>
</div>
</form>
我明白了
ERROR Error: Cannot find control with path: 'rubrica -> [object Object]'
there's no get method
我不使用*ngFor,因为我只需要这两个FormGroup,我想把它们放在一个FormArray中,我从一开始就没有尝试过声明两个不同的FormGroup(我想这样做,除非没有办法)。
当做