要启用或禁用按钮上的选择组件,请单击角形材料

时间:2018-08-30 04:25:10

标签: angular angular-material angular6

我正在使用select组件两次来选择时间,并且还添加了一个图标作为后缀,以作为 add cancel 进行操作。如下图所示< / p>

enter image description here

当我单击取消图标时,它将变为添加图标,如下图所示。 enter image description here

这是代码

HTML

 <mat-form-field class="no-line time">
                <mat-select  [(value)]="selectmonmor">
                  <mat-option *ngFor="let mondaymorning of mondaymornings"  [value]="mondaymorning.value">
                    {{mondaymorning.viewValue}}
                  </mat-option>
                </mat-select>
              </mat-form-field>

              <mat-form-field  class="no-line time">
                  <mat-select [(value)]="selectmoneve">
                    <mat-option *ngFor="let mondayevening of mondayevenings" [value]="mondayevening.value">
                      {{mondayevening.viewValue}}
                    </mat-option>
                  </mat-select>

  </mat-form-field>
   <button  mat-button  matSuffix mat-icon-button >
          <mat-icon (click)="toggleIcon()">{{icon}}</mat-icon>
    </button>

TS

  public icon = 'highlight_off';

   public toggleIcon() {
   if (this.icon === 'highlight_off') {
     this.icon = 'add_circle_outline';
   } else {
     this.icon = 'highlight_off';
     }
   }

在此处点击图标<mat-icon (click)="toggleIcon()">{{icon}}</mat-icon>,即取消图标(即 highlight_off ),它将更改为添加图标(即 add_circle_outline )现在,我需要在单击“取消”图标时禁用2个下拉菜单(选择组件),然后在单击添加后,该图标将更改为添加选择要启用的组件。在冲浪时,我也有stackblitz链接

但是这里启用/禁用操作是通过2单击功能通过2个单独的按钮执行的,但是我只需要通过一个图标执行。我该怎么做?

1 个答案:

答案 0 :(得分:1)

尝试这样:

DEMO

HTML:

<mat-toolbar color="primary">
    Angular Material 2 App
</mat-toolbar>
<div class="basic-container">

    <mat-form-field>
        <mat-select placeholder="Sample" [disabled]="selectDisabled">
            <mat-option *ngFor="let opt of [1, 2, 3, 4]" [value]="opt">
                Option {{ opt }}
            </mat-option>
        </mat-select>
    </mat-form-field>

    <button (click)="selectDisabled = !selectDisabled" mat-icon-button>
    <mat-icon >{{selectDisabled?'add': 'cancel'}}</mat-icon>
  </button>
    <pre>disabled: {{ selectDisabled }}</pre>
</div>