Angular6 - Получить Nested FormGroup, используя имя - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть вложенные группы форм

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 ]

0 голосов
/ 24 сентября 2018

попробуй вот так

 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`
0 голосов
/ 24 сентября 2018

Глядя на угловой код .get (), который он использует "."в качестве разделителя для создания массива путей.

Я не вижу решения, которое могло бы пройти через это.В любом случае вы можете использовать:

(<FormGroup>this.form.get('address')).controls['com.complex.Address']; 
...