2

我有嵌套表单组

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');

但它总是返回 Null 值。

现在,如果我将嵌套的表单组(即'com.complex.Address')更改为任何其他名称,如“test”并执行this.form.get('address').get('test');它实际上返回我想要的值。

但关键是我不能更改嵌套名称,它会包含一些特殊字符。

如何转义字符并根据需要使用表单组。?

4

2 回答 2

3

查看它使用“。”的 .get() 的角度代码。作为分隔符来制作路径数组。

我看不到任何解决方案可以通过它。无论如何,您可以使用:

(<FormGroup>this.form.get('address')).controls['com.complex.Address']; 
于 2018-09-24T12:59:55.197 回答
0

试试这样

 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`
于 2018-09-24T13:09:22.107 回答