2 回答
TA贡献1998条经验 获得超6个赞
我认为你的内部组件(app-address-mailing-standard-form、app-address-mailing-military-form...)可以有一个关于 formGroup 和 *ngIf 的 @Input
@Input()group:FormGroup
<form *ngIf="group" [formGroup]="group">
<input formControlName="prop1">
...
</form>
所以,你的 main.app 可以像
<app-address-formatheader-form
[group]="form.get("header")>
</app-address-formatheader-form>
<app-address-mailing-standard-form
[group]="form.get('mailing')">
</app-address-mailing-standard-form>
<app-address-mailing-standard-form
[group]="form.get('military')">
</app-address-mailing-standard-form>
...
所以,如果你的 main.app 创建像
this.form=new FormGroup({
header:new FormGroup({...}),
military:new FormGroup({...})
})
只显示“header”和“military”,但这只是一个想法。一切都取决于您创建表单和表单组的方式和位置。
如果您在组件内部创建 fromGroup,请在输入中使用 setter,例如
@Input() set visible(value)
{
if (visible)
this.group=new formGroup({...})
}
并且仅将“可见”作为参数传递
<app-address-formatheader-form [visible]="variable"></app-address-formatheader-form>
再次像这样的形式
<form *ngIf="group" [formGroup]="group">
<input formControlName="prop1">
...
</form>
添加回答
举报