Angular 7 Reactive表单-将FormArray中的表单组链接到对象

时间:2019-01-28 14:45:19

标签: angular angular-reactive-forms

我正在创建表单组的表单数组

const skillsControl = <FormArray>this.form.controls['skills'];

this.selectedCourse.requiredSkills.forEach(skill => {
    const s = this.fb.group({
                instructor: ['', Validators.required],
                ...other controls...
              });
    skillsControl.push(s);
}

每个选定的课程将具有一套独特的技能。

我需要能够显示技能的名称,然后显示与该技能相关的表单控件。

如何将所需的技能对象与其相应的表单组相关联?

1 个答案:

答案 0 :(得分:1)

您必须以这种方式定义表单:

  const items = new FormArray(this.skills.map(item => new FormGroup({
                name: new FormControl(item.name),
                instructor: new FormControl(item.instructor)
  })));

  this.myForm = new FormGroup({items: items});

我在stackblitz中做了一个完整的例子:

Form Array exmple

希望对您有帮助!