#angular #formgroups
#angular #formgroups
Вопрос:
Я пытаюсь динамически установить свойство в моей FormGroup в FormGroup; дочерняя FormGroup, если хотите
// Example 1
var parent = this._formBuilder.group({
id; [''].
child: this._formBuilder.group({
name: ['']
})
})
// Example 2
var parent = this._formBuilder.group({
id; [''],
child: undefined
})
parent.patchValue({'child': this._formBuilder.group({ name: [''] }) })
в примере 1 будет parent.get('child')
возвращена FormGroup . однако в варианте 2 parent.get('child').value
возвращается formgroup .
Как мне заставить динамически устанавливаемую FormGroup работать так, как если бы она была установлена в инициализаторе FormGroup?
Ответ №1:
patchValue
предназначен не для добавления группы форм или элемента управления формами, а для обновления значения формы.
Чтобы добавить группу форм динамически, вам нужно использовать setControl
или addControl
.
parent.setControl('child', this._formBuilder.group({ name: [''] }))