如何动态地添加到FormControl FormGroup(How to add dynamical

2019-09-28 11:09发布

我有这个plunker 。 我创建表单组件动态,基于model (定义在app.ts ),并且不能添加

formControlName = "name"

到组件。 在control-factory.directive.ts我添加

this.form.addControl(this.model.name, new FormControl());

但我怎么能结合的价值?

Answer 1:

为了保持表格值同步与您的自定义模式,我会订阅control.valueChanges

let control = new FormControl(this.model.data);
control.valueChanges.subscribe(x => {
  this.model.data = x;
});
this.form.addControl(this.model.name, control);

保持同步的形式模型和视图我将结合FormControl到反应性的指令即formControl

datepicker.component.html

<input [formControl]="form.get(model.name)">

修改Plunker



文章来源: How to add dynamically FormControl to FormGroup