为了创建响应式表单,父级FormGroup是必须的。这FormGroup可以进一步包含formControls, childformGroups或formArray
FormArray还可以包含数组 offormControls或 aformGroup本身。
我们什么时候应该使用formArray?
请阅读这篇漂亮的帖子,它解释了formArray
那个博客中有趣的例子是关于旅行的formGroup
formGroup使用formControland的行程结构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 citiesand placesof a trip的用法。