Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度反应窗体-禁用窗体组中的材质设计按钮_Angular_Angular Material2_Angular Reactive Forms - Fatal编程技术网

Angular 角度反应窗体-禁用窗体组中的材质设计按钮

Angular 角度反应窗体-禁用窗体组中的材质设计按钮,angular,angular-material2,angular-reactive-forms,Angular,Angular Material2,Angular Reactive Forms,我有一个反应形式包含角材料设计组件。我想在初始化组件时禁用表单中的所有控件1 我尝试在构造函数中以及在ngOnInit()中对FormGroup调用disable(),但由于某些原因,表单中的按钮(使用材质设计)仍然处于启用状态 模板: <form [formGroup]="emailForm"> <mat-form-field> <input matInput type="email" formControlName="email" placehol

我有一个反应形式包含角材料设计组件。我想在初始化组件时禁用表单中的所有控件1

我尝试在构造函数中以及在ngOnInit()中对FormGroup调用disable(),但由于某些原因,表单中的按钮(使用材质设计)仍然处于启用状态

模板:

<form [formGroup]="emailForm">
  <mat-form-field>
    <input matInput type="email" formControlName="email" placeholder="Email" />
  </mat-form-field>
  <button formControlName="removeButton" mat-icon-button class="button-small" (click)="clearEmail()" matTooltip="Clear email address" matTooltipClass="tooltip-medium" [matTooltipShowDelay]="500" ngDefaultControl>
    <mat-icon aria-label="Clear">clear</mat-icon>
  </button>
</form>
如果我从按钮中删除材质设计,则在初始化过程中将禁用它。如果我从组件中的click eventHandler方法调用
this.emailform.disable()
,则表单中的按钮也会被禁用

在初始化过程中按钮没有被禁用是一个错误还是我做错了什么?如何在初始化时禁用UI中的按钮

(注意:这是一个简化的示例。实际应用程序在表单中有更多的输入字段)


1当我问这个问题时,我不熟悉Angular's,它可以用来在导航到组件之前加载动态数据。

您不应该对按钮使用表单控件。只需禁用表单并使用按钮禁用,如:

<button [disabled]="emailForm.disabled" ...

你能确保你提供的stackblitz有效吗??对我来说,它显示出没有找到。。希望这对你有帮助。谢谢你的关注。请现在再试一次
<button [disabled]="emailForm.disabled" ...