我正在使用select组件两次来选择时间,并且还添加了一个图标作为后缀,以作为 add 和 cancel 进行操作。如下图所示< / p>
这是代码
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个单独的按钮执行的,但是我只需要通过一个图标执行。我该怎么做?
答案 0 :(得分:1)
尝试这样:
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>