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