如何在angular4中将formGroup动态添加到模板驱动的表单中



我使用的是模板驱动的表单,根据功能,我必须切换用户交互的控件。问题

最初,我所有的控件都初始化为窗体,但在切换期间,我必须隐藏一个控件并显示另一个控件。我如何将新添加的formGroup注册到表单中。

我试过了,但不起作用

this.form.controls.addControl('formGroup_VIN', []);

注意:这是一项要求,我必须使用模板驱动的表单

更新1

假设我有这样的

<div *ngIf="vehicle.show">
<input [id]="saId" [name]="saId">
</div>
<div *ngIf="!vehicle.show">
<input [id]="saId" [name]="saId">
</div>

单击一个按钮,我就会显示和隐藏表单控件,现在我的问题是,如何将新添加的控件注册到表单中?

您没有。

我会创建包含所有控件的formGroup,并且只隐藏那些现在不需要显示的控件(可以使用*ngIf完成(。

模板驱动表单的情况非常相似。您的模型包含所有可能的属性,您可以使用[(ngModel(]将所有属性绑定到每个输入,并且只隐藏/显示所需的输入。模型保持不变,所以只要不使用动态表单,就不需要"注册新输入"等。

最新更新