窗体 – FormGroup控件中的模型驱动窗体嵌套FormArray控件

前端之家收集整理的这篇文章主要介绍了窗体 – FormGroup控件中的模型驱动窗体嵌套FormArray控件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个这样的表单组:

this.form = fb.group({
  'teacher': [''],'schools': fb.array([
      fb.group({
        'school_name': [''],'school_description': [''],'events': fb.array([
          fb.group({
            'event_name': ['']
          })
        ])
      })
  ])
});
const control = (<FormArray>this.form.controls['schools']).controls[0]['events'];

如何获得嵌套数组控件’事件’?

const control = (<FormArray>this.form.controls['schools']).controls[0]['events'];

解决方法

我建议您查看 nested form arraynested form group的Angular 2示例,了解如何构建复杂的表单.使用FormGroup,您可以使用.get(name:string)来检索控件.这个例子得到了学校FormArray控件:

this.form.get('schools')

对于FormArray,您可以使用.at(index:number)从数组中检索控件.此示例获取数组中的第一个FormGroup控件:

this.schools.at(0)

总而言之,有更好的(阅读:更可重复,更易读)的方式表达这一点,但这个链将让你从第一所学校的第一个事件:

this.form.get('schools').at(0).get('events')

这是一个有效的plnkr示例.

猜你在找的Angularjs相关文章