以编程方式向 NgFrom 添加控件

时间:2021-05-01 15:44:26

标签: angular

在 ReactiveForm 中添加一个表单控件非常简单: this.myForm.addControl('newcontrol',[]); 我想对 NgForm 做同样的事情。

  @ViewChild('myForm') myForm : NgForm;

  ngAfterViewInit(): void{
    this.myForm.addControl();    // But this method does not accept ('newcontrol',[])
  }

有什么办法可以做到这一点吗?此处的 addControl() 方法采用 NgModel 实例。

1 个答案:

答案 0 :(得分:1)

FormGroup 的内部 NgForm 位于 control 下,您可以在 properties 下的文档中找到它。因此,您可以使用 control:

添加表单控件
ngAfterViewInit(): void {
  this.myForm.control.addControl('new', new FormControl('', []));
}

题外话:我建议使用反应式表单,除非你有充分的理由不这样做;)