Angular 嵌套的角度窗体找不到FormGroup
我将模板放在*ngIf下,它仅在加载表单后生成。此外,我在一个动态显示的字段下得到了失败的表单,该字段取决于按钮的按下。我注销表单,它返回正确丢失的FormControl 模板:Angular 嵌套的角度窗体找不到FormGroup,angular,nested-forms,angular-reactive-forms,Angular,Nested Forms,Angular Reactive Forms,我将模板放在*ngIf下,它仅在加载表单后生成。此外,我在一个动态显示的字段下得到了失败的表单,该字段取决于按钮的按下。我注销表单,它返回正确丢失的FormControl 模板: <div *ngIf="ready"> <form [formGroup]="form"> <div [formGroup]="form.controls.request"> <div *ngFor="let field of inputF
<div *ngIf="ready">
<form [formGroup]="form">
<div [formGroup]="form.controls.request">
<div *ngFor="let field of inputFields">
...
</div>
</div>
<div *ngIf="somethingEnabled">
<div [formGroup]="form.controls.Something">
<div class="input-container">
<label>Name: </label>
<input formControlName="Name">
</div>
<div [formGroup]="form.controls.Something.Organization">
<div class="input-container">
<label>ASD: </label>
<input formControlName="ASD">
</div>
<div [formGroup]="form.controls.Something.Organization.Other">
<div class="input-container">
<label>Id: </label>
<input formControlName="Id">
</div>
<div [formGroup]="form.controls.Something.Organization.Other.SchmeNm">
<div class="input-container">
<label>SchmeName: </label>
<input formControlName="SchmeName">
</div>
<div class="input-container">
<label>SchmeValue: </label>
<input formControlName="SchmeValue">
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
我只在激活form.controls.something部分时收到错误。
如果我删除模板中的form.controls.Something.Organization部分,效果很好
错误:
错误:formGroup需要一个formGroup实例。请把一个传进来
我可能错过了一些东西,希望在发布此内容时能找到它,但似乎仍然无法获得它当您在表单组中时,您不需要访问父表单的控件来定义其子表单组,您只需使用名称即可
<form [formGroup]="form">
<div [formGroup]="request">
<div *ngFor="let field of inputFields">
...
</div>
可能如果您使用console.logthis.form.controls.Something.Organization,它也会返回undefined。对于添加的每个FormGroup,您必须首先访问其控件,然后进入下一个级别,如中所示:
<div [formGroup]="form.controls.Something.controls.Organization">
...
<div [formGroup]="form.controls.Something.controls.Organization.controls.Other">
...
form.controls将浏览您定义的确切路径,而form.get将转到您指定的确切控件,这使得它对于多层表单非常有用,以便于维护和读取
让我们知道你得到什么。对于嵌套形式组,
>P>使用FrimGypNeNo.FrimeGoopy.我得到这个。Fr.OpUpDeTestRealRealy并不是一个函数,如果我去掉嵌套,这可能会有帮助:@ TasaskSnaskas如果我的答案帮助你解决这个问题,请考虑接受正确的答案。谢谢<div [formGroup]="form.controls.Something.controls.Organization">
...
<div [formGroup]="form.controls.Something.controls.Organization.controls.Other">
...
<div [formGroup]="form.get("Something").get("Organization")">