为了创建响应式表单,父级FormGroup
是必须的。这FormGroup
可以进一步包含formControls
, childformGroups
或formArray
FormArray
还可以包含数组 offormControls
或 aformGroup
本身。
我们什么时候应该使用formArray?
请阅读这篇漂亮的帖子,它解释了formArray
那个博客中有趣的例子是关于旅行的formGroup
formGroup
使用formControl
and的行程结构formArray
如下所示:
this.tripForm = this.fb.group({
name: [name, Validators.required],
cities: new FormArray(
[0] ---> new FormGroup({
name: new FormControl('', Validators.required),
places: new FormArray(
[0]--> new FormGroup({
name: new FormControl('', Validators.required),
}),
[1]--> new FormGroup({
name: new FormControl('', Validators.required),
})
)
}),
[1] ---> new FormGroup({
name: new FormControl('', Validators.required),
places: new FormArray(
[0]--> new FormGroup({
name: new FormControl('', Validators.required),
}),
[1]--> new FormGroup({
name: new FormControl('', Validators.required),
})
)
}))
})
不要忘记玩这个DEMO,并注意array for cities
and places
of a trip的用法。