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

How to disable the complete formgroup at creation with FormBuilder?

我正在使用 FormBuilder 构建 Fromgroup。

示例:

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

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

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

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

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

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

就个人而言,在这些场景中,我用容器 div 包装表单并使用额外的 属性 来标记表单正在加载(或者我们还没有完成) . 然后,我在 *ngIf 中使用 属性 物理删除整个表单并显示类似的微调框。

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