angular5 - 如何禁用 mat-list-item 的点击事件启用仅 maticon 的点击
问题描述
嗨,我正在研究 angular 5。我想禁用 mat-list-item 的单击事件,希望仅启用 mat-icon 的单击操作。
<mat-nav-list>
<mat-list-item
*ngFor="
let item of (speciality_list | listFilter: { name: searchText })
"
[class.disabled]="!item.status"
[ngClass]="item.id == specialityActiveId ? 'active' : ''"
(click)="onRowClick(item, 'speciality')"
>
<div matLine>
<div fxLayout="row">
<div fxFlex="80">{{ item.name }}</div>
<div fxFlex="12" >
<button class="cursor-default"
mat-icon-button
(click)="edit($event, 'speciality', item)"
>
<mat-icon class="mat-17">edit</mat-icon>
</button>
</div>
<div fxFlex="8">
<button mat-icon-button mat-icon-button>
<mat-icon class="mat-17">arrow_forward_ios</mat-icon>
</button>
</div>
</div>
</div>
</mat-list-item>
</mat-nav-list>
谢谢,
解决方案
您可以通过这样做来停止立即传播:
edit(event){
event.preventDefault();
// EDIT: Looks like you also have to include Event#stopImmediatePropagation as well
event.stopImmediatePropagation();
}
我参考了以下链接以获取我的解决方案。
带有辅助按钮的 mat-nav-list
推荐阅读
- java - 使用哪些方法代替 if-else 语句?
- c++ - 根据 GL 标志的 Visual Studio 19-17 库兼容性
- c++ - 这个类对象是如何实现的?
- php - PSR 中命名空间声明前有多少新行?
- javascript - 为报告准备自定义阵列
- java - 使用 application.properties 自定义 yml 到 Spring Boot 应用程序
- reactjs - 在嵌套功能组件 React Native 中键入 TextInput 时键盘消失
- signalr - SignalR 恢复连接
- android - android中水平recyclerview的问题
- sql - 从块中选择一个单词