显示错误“TypeError:control.setParent不是一个函数”每次尝试这样做时.目标是得到答案('odgovori' FormArray),但不是在输入上循环,而是在单选按钮组中.
console.log(this.odgovorForm.value)
字符串
一切正常,但当推然后显示错误
get odgovori() {
return this.pitanjeForm.get('odgovori') as FormArray;
}
pitanjeForm = this.fb.group({
data: ['', [Validators.required]],
odgovori: this.fb.array([]),
tacan: ['', [Validators.required]]
});
odgovorForm = this.fb.group({
data: ['', [Validators.required]],
color: 'danger'
});
addAnswer(): void {
console.log(this.pitanjeForm.value, this.odgovorForm.value);
this.info = this.odgovorForm.value;
this.odgovori.push(this.info);
}
型
HTML
<form [formGroup]="pitanjeForm">
<div>
<input formControlName="data">
</div>
<form [formGroup]="odgovorForm">
<input formControlName="data">
<button (click)="addAnswer()"></button>
</form>
<div *ngFor="let odgovor of odgovor.value; index as i">
<input type="radio" value="{{ i }}"> 0 - 30<br>
</div>
</form>
型
5条答案
按热度按时间y53ybaqx1#
哦...我的错
字符串
要推送FormGroup以形成数组,请始终推送整个FormGroup,而不仅仅是值或控件!
x33g5p2x2#
用下面的代码替换你的代码
字符串
slwdgvem3#
我把我的代码一样,尔阿卜杜勒梅曼,但我得到 * 属性推不存在类型 * 错误。
的数据
这为我工作:
字符串
jbose2ul4#
尝试使用
public odgovori = this.pitanjeForm.get('odgovori')
作为FormArray
。然后angular知道它是一个数组,你可以向它推送一些东西。zu0ti5jz5#
对于Angular 8
这对我很有效
字符串
现在您可以轻松地将一个新数组传递给updateFormDataNames(“1”,“2”])