Do stworzenia formularzy reaktywnych niezbędny FormGroupjest rodzic . Może FormGroupto dalej zawierać formControls, child formGroupslubformArray
FormArraymoże ponadto zawierać tablicę formControlslub formGroupsiebie.
Kiedy powinniśmy używać formArray?
Przeczytaj ten piękny post, który wyjaśnia użycieformArray
Ciekawy przykład na tym blogu dotyczy wycieczek formGroup
Struktura wycieczek formGroupprzy użyciu formControli formArraywyglądałaby mniej więcej tak:
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),
})
)
}))
})
Nie zapomnij, aby grać z tym DEMO , i zauważyć wykorzystanie macierzy do citiesi placesod wycieczkę.