Angular6 - Получить Nested FormGroup, используя имя
У меня есть вложенные группы форм
address = new FormGroup({
'com.complex.Address':new FormGroup({
city: cityControl,
streetName: streetNameControl,
houseNumberAddition: houseNumberAdditionControl,
houseNumber: houseNumberControl,
postcode: postcodeControl
})
});
Я хочу найти группу вложенных форм, то есть "com.complex.Address".
Я уже пробовала
this.form.get('address').get('com.complex.Address');
Но это всегда возвращает нулевое значение.
Теперь, если я изменю вложенную группу форм (например, com.complex.Address) на любое другое имя, например "test", и выполню this.form.get('address').get('test');
это на самом деле вернуть значение, которое я хочу.
Но дело в том, что я не могу изменить вложенное имя, и оно будет содержать некоторые специальные символы.
Как я могу избежать персонажа и использовать группу форм, как я хочу.?
2 ответа
Решение
Глядя на угловой код.get() он использует "." в качестве разделителя, чтобы сделать массив путей.
Я не вижу никакого решения, чтобы пройти через это. В любом случае вы можете использовать:
(<FormGroup>this.form.get('address')).controls['com.complex.Address'];
Попробуй вот так
NewForm = this.fb.group({
relationshipId: this.fb.group({
code: [null, Validators.required]
})});
this.NewForm.get('relationshipId').value.code
this.NewForm.get('relationshipId').get('code').value`