Typescript Angular6-使用名称获取嵌套的FormGroup
我有嵌套的表单组Typescript Angular6-使用名称获取嵌套的FormGroup,typescript,angular6,form-control,formgroups,Typescript,Angular6,Form Control,Formgroups,我有嵌套的表单组 address = new FormGroup({ 'com.complex.Address':new FormGroup({ city: cityControl, streetName: streetNameControl, houseNumberAddition: houseNumberAdditionControl, houseNumber: houseNumberContro
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');
但它总是返回空值
现在,如果我将嵌套的formgroup(即“com.complex.Address”)更改为任何其他名称,如“test”,并执行this.form.get('Address').get('test')代码>它实际返回我想要的值
但关键是我不能更改嵌套名称,它将包含一些特殊字符
如何转义字符并使用所需的表单组?查看.get()的角度代码,它使用“.”作为分隔符来创建路径数组
我看不出有什么办法可以解决这个问题。无论如何,您可以使用:
(<FormGroup>this.form.get('address')).controls['com.complex.Address'];
(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`
我已经试过了,但是它显示了一个错误“属性'controls'在类型'AbstractControl'上不存在”。“Ok,请参阅编辑后的答案。这只是一个类型问题。您必须指定您确信将获得FormGroupYes,它解决了问题,谢谢。