Для того, щоб створити реактивні форми, батьки 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поїздки.