Angular Can';是否将嵌套表单组绑定到被动表单中的表单数组?
无法将{form control}绑定到数据[ { “第1组”:“, “第二组”:{ “数据”:” } } ] 需要使用表单控件名进行绑定Angular Can';是否将嵌套表单组绑定到被动表单中的表单数组?,angular,angular-reactive-forms,Angular,Angular Reactive Forms,无法将{form control}绑定到数据[ { “第1组”:“, “第二组”:{ “数据”:” } } ] 需要使用表单控件名进行绑定 玻璃钢:1 + {{features.value}json} 打字稿 构造函数(私有fb:FormBuilder){ 这个.addFeature(); } formGroup=this.fb.group({ 特性:此.fb.array([]) }); 获取功能():FormArray{ 将此.formGroup.get(“功能”)作为FormArray返回
玻璃钢:1
+
{{features.value}json}
打字稿
构造函数(私有fb:FormBuilder){
这个.addFeature();
}
formGroup=this.fb.group({
特性:此.fb.array([])
});
获取功能():FormArray{
将此.formGroup.get(“功能”)作为FormArray返回;
}
addFeature():void{
让data=this.fb.group({
第1组:新FormControl(“grp_1”),
第二组:this.fb.group({
数据:新FormControl(“grp_2”)
})
});
这个.features.push(数据);
}`在这里输入代码`
您的文本上有formControlName=“group2”
。相反,您应该将group2
表单组的data
控件绑定到输入:formControlName=“data”
如果您想要创建带有对象数组的嵌套表单,那么您应该使用FormGrop
试试这个:
这是一个实时的示例对象“group2”:我有n个对象(“group2”)要绑定在这个嵌套的formgroup数据、名称、id等下。。。有没有办法…?是的,在Form Array->Form Array->formControl中,我们可以在html中绑定,但不能在html中绑定Form Array(功能)->Form group(group2)->FormGroup(数据),即formarray中的嵌套FormGroup不能在html中绑定请提供帮助??您可以创建示例stackblitz吗?请遵循此链接--->检查此项:
<form [formGroup]="formGroup">
<div formArrayName="features">
<div class="row no-gutters form-group" *ngFor="let feature of features.controls; let i = index; let last = last"
[formGroupName]="i">
Grp:1 <input
type="text"
class="form-control px-2 col"
formControlName="group1"
title="feature"
>
<!-- //How to bind value of data in html??? -->
<div [formGroup]="group2">
<input type="text"
class="form-control px-2 col"
formControlName="group2"
title="feature"
>
</div>
<button class="col btn btn-success" (click)="addFeature()">
+
</button>
</div>
</div>
<pre>
{{ features.value|json}}
</pre>
</form>
typeScript
constructor(private fb: FormBuilder) {
this.addFeature();
}
formGroup = this.fb.group({
features: this.fb.array([])
});
get features(): FormArray {
return this.formGroup.get("features") as FormArray;
}
addFeature(): void {
let data = this.fb.group({
group1: new FormControl("grp_1"),
group2: this.fb.group({
data: new FormControl("grp_2")
})
});
this.features.push(data);
}`enter code here`
addFeature(): void {
let data = this.fb.group({
group1: new FormControl("grp_1"),
group2: this.fb.group({
data: new FormControl("grp_2")
}),
group3: this.fb.array([
this.fb.group({
data: new FormControl("grp_3")
})
])
});
this.features.push(data);
}