angular - 单击列时,角表防止行单击
问题描述
当我点击表格行时,它应该展开并显示一些额外的数据,但是当我点击一列时,它不应该展开行,而不是执行列点击。
我已经简化了代码,请在此处查看完整的代码示例
<!-- Weight Column -->
<ng-container matColumnDef="weight">
<th mat-header-cell *matHeaderCellDef> Weight </th>
<td mat-cell *matCellDef="let element" (click)="weightCicked(element)"> {{element.weight}} </td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row (click)="rowclicked(row)" *matRowDef="let row; columns: displayedColumns;"></tr>
当我点击weight
列时,rowClicked
也被调用,我怎么能只调用weightCicked
方法?
解决方案
您可以$event.stopPropagation();
在绑定(click)
时添加td
<td mat-cell *matCellDef="let element" (click)="weightCicked(element); $event.stopPropagation();"> {{element.weight}} </td>
推荐阅读
- kerberos - 如何在 Kerberized 集群上访问 Livy(或为 Livy 禁用 Kerberos)?
- c# - 基于 URI 字符串匹配重定向 ApiController
- jquery - 如何从 createNativeQuery 获取 Doctrine ArrayCollection
- azure - 选择性区域中的多个 Azure VM 部署
- r - 如何创建从较大数据集过滤而不制作特定容器的数据框列表
- powershell - 如何将所有 IIS 站点和应用程序池详细信息导出到 Excel 工作表
- scala - 在 Spark Join [Scala] 中包含空值
- angular - 我可以在延迟加载的模块中从 Valor Software 的 ngx-bootstrap 降级 ModalService 吗?
- ios - 无法将文件添加到 Xcode
- c++ - 为什么在 C 和 C++ 中动态分配的对象是未命名的?