为了创建反应形式,FormGroup必须有父母。这FormGroup还可以含有formControls,儿童formGroups或formArray
FormArray可以进一步包含formControls或formGroup本身的数组。
我们什么时候应该使用formArray?
请阅读这篇漂亮的文章,其中解释了formArray
该博客中有趣的例子是关于旅行的 formGroup
formGroup使用formControl和的旅行结构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,并注意阵列的使用情况cities和places旅行的。