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>
添加回答
舉報