加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 17:42:29 所属栏目:安全 来源:网络整理
导读:我有一个这样的表单组: this.form = fb.group({ 'teacher': [''],'schools': fb.array([ fb.group({ 'school_name': [''],'school_description': [''],'events': fb.array([ fb.group({ 'event_name': [''] }) ]) }) ])});const control = (FormArraythis.f
我有一个这样的表单组:

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 array和 nested 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示例.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读