Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular Can';是否将嵌套表单组绑定到被动表单中的表单数组?_Angular_Angular Reactive Forms - Fatal编程技术网

Angular Can';是否将嵌套表单组绑定到被动表单中的表单数组?

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返回

无法将{form control}绑定到数据[ { “第1组”:“, “第二组”:{ “数据”:” } } ]

需要使用表单控件名进行绑定


玻璃钢: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);
  }