如何在使用FormBuilder创建时禁用整个表单组?

时间:2019-05-17 09:58:15

标签: angular angular-reactive-forms

我正在用FormBuilder建立一个Fromgroup。

示例:

  formName = this.fb.group({
    inputName: ['default value', Validators.required],
    // many other items
  });

(示例来自https://stackblitz.com/edit/form-reactive-formbuilder

现在基于条件,我希望在加载视频时禁用此表单。目前我正在使用

if([Condition]) {
   formName.disable();
}

但是,这是另外三行代码,我想在创建表单组时传递disable参数,就像可以使用FormControls一样。能做到吗?

1 个答案:

答案 0 :(得分:0)

通过FormsBuilder创建的表单要求您使用disable()方法才能将其禁用。

个人而言,在这些情况下,我用容器div包裹了表单,并使用了一个附加属性来标记表单正在加载(或者我们尚未完成)。 然后,我在*ngIf中使用该属性以物理方式删除整个表单并显示一个旋转器或类似的东西。

或者,我使用该属性来控制CSS,以更巧妙的方式禁用容器div。 CSS取决于您的上下文。