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

时间:2018-07-23 14:10:05

标签: angular angular2-template angular4-forms

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

最初,我所有的控件都初始化为表单,但是在切换过程中,我必须隐藏一个控件并显示另一个控件。如何将新添加的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>

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

1 个答案:

答案 0 :(得分:0)

你没有。

我将创建background-clip:text;,其中包含所有控件,并且仅隐藏那些不需要立即显示的控件(可以通过* ngIf完成)。

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