立即禁用整个表单(Angular reactive form)

YD_*_*YD_ 15 typescript angular2-formbuilder angular angular-reactive-forms

有没有办法在使用Reactive表单时以角度禁用整个表单.我知道可以逐个禁用它们.

 this.tempForm = this.fb.group({
  m26_type:  '',
  m26_name:  ''
 })
this.tempForm.get('m26_type').disable();
Run Code Online (Sandbox Code Playgroud)

是否可以禁用整个表单而不是单独禁用每个控制器?

Rah*_*ngh 17

this.tempForm.disable();
Run Code Online (Sandbox Code Playgroud)

禁用控件.这意味着控件将免于验证检查,并从任何父级的聚合值中排除.它的状态是DISABLED.

如果控件具有子项,则将禁用所有子项以维护模型.

链接

UPDATE

Plunker链接 - https://plnkr.co/edit/CFC4uKpvfE4otJ2PWdkc?p=preview

  • 是的,它有帮助。就我而言,问题是我在反应式表单中使用自定义表单控件。当使用自定义表单控件时,我的反应式表单需要实现 setDisabledState()。https://angular.io/api/forms/ControlValueAccessor (2认同)
  • 请记住,对于模板驱动的表单,代码为ngFormName.form.disable()或enable()。它们也是函数,因为“禁用”和“启用”属性是只读的。 (2认同)