Angular 角度(4):禁用整个表单(组),而不是单独禁用每个输入?

Angular 角度(4):禁用整个表单(组),而不是单独禁用每个输入?,angular,Angular,是否可以在angular中禁用整个表单(组),而不是对每个输入单独执行 类似于但对于或 如果您使用反应表单,只需编写 form: formGroup; this.form.disable(); 如果是ngForm,你可以这样写“创建” 提交 禁用表单 禁用(f){ f、 form.disable() } 这里有一个解决方案,单击提交按钮时自动禁用所有表单元素。 此解决方案适用于模板驱动的表单 HTML: <form #myForm="ngForm" (ngSubmit)="onFor

是否可以在angular中禁用整个表单(组),而不是对每个输入单独执行


类似于
但对于

如果您使用反应表单,只需编写

form: formGroup;

this.form.disable();
如果是ngForm,你可以这样写“创建”


提交
禁用表单
禁用(f){
f、 form.disable()
}

这里有一个解决方案,单击提交按钮时自动禁用所有表单元素。

此解决方案适用于模板驱动的表单

HTML:

<form #myForm="ngForm" (ngSubmit)="onFormSubmit( myForm )">

    <input type="text" name="title" [(ngModel)]="model.title" #title="ngModel">

    <button type="submit">

        <span *ngIf="!imyForm.disabled">
            Submit Form
        <span>

        <span *ngIf="myForm.disabled">
            Submitted
        <span>

    </button>

</form>
public onFormSubmit( form: any): void {
    form.form.disable();
}

它可以被认为是hack-y,但您可以使用ngClass和css应用一个类,在满足条件时关闭容器内所有输入的指针事件

.disable-inputs {
  pointer-events: none;
}

<form [ngClass]="{'disable-inputs':[true/false condition]}">
   // input elements
</form>
。禁用输入{
指针事件:无;
}
//输入元素

在这种情况下,我使用模板驱动的表单。
.disable-inputs {
  pointer-events: none;
}

<form [ngClass]="{'disable-inputs':[true/false condition]}">
   // input elements
</form>