如何通过使用mat-slide-toggle禁用角度输入字段?

时间:2019-03-27 05:30:01

标签: angularjs html5 typescript

如何在反应形式中使用mat-slide-toggle来禁用角形形式域(输入)域,当输入域上的滑动切换为true时,应启用它,否则输入 字段应被禁用。

2 个答案:

答案 0 :(得分:1)

您可以将change上的mat-slide-toggle方法用作

    <mat-slide-toggle 
      (change)="changeDisable()" formControlName="enableWifi">
      Enable Wifi</mat-slide-toggle>
<mat-form-field class="demo-full-width">  
        <input [disabled]="checked" formControlName="FirstName" matInput
         placeholder="First Name">  
 </mat-form-field> 

changeDisable() {
  if (this.formGroup.controls['FirstName'].disabled) {
   this.formGroup.controls['FirstName'].enable() ;
  } else {
    this.formGroup.controls['FirstName'].disable() ;
  }

}

Stackblitz Demo showing Input Disable/Enable on Change of mat toggle

答案 1 :(得分:0)

请尝试这个

在html中:

<mat-slide-toggle (change)="toggle($event)">Slide me!</mat-slide-toggle>
<input [attr.disabled]="show ? '' : null"/>{{show}}

在ts中:

    show: boolean = false;
    toggle(e: any) {
      e.checked? this.show = true: this.show = false;
    }