Do stworzenia formularzy reaktywnych niezbędny FormGroup
jest rodzic . Może FormGroup
to dalej zawierać formControls
, child formGroups
lubformArray
FormArray
może ponadto zawierać tablicę formControls
lub formGroup
siebie.
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 formGroup
przy użyciu formControl
i formArray
wyglą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 cities
i places
od wycieczkę.