gpt4 book ai didi

html - Angular Material 表 : unbind checkbox click from row

转载 作者:行者123 更新时间:2023-11-28 02:20:47 25 4
gpt4 key购买 nike

我正在尝试解除行选择与表格行的绑定(bind),以便在行内的任意位置单击不会勾选复选框。我希望仅当复选框本身被点击时才勾选复选框,这样我就可以在用户点击其他地方(有点像 Gmail 收件箱)时腾出空间来添加可扩展行。

我只是想不出如何解除复选框与行的绑定(bind)。

这是复选框列的标记

  <ng-container matColumnDef="select">
<th mat-header-cell *matHeaderCellDef>
<mat-checkbox (change)="$event ? masterToggle() : null"
(click)="$event.stopPropagation()"
[checked]="selection.hasValue() && isAllSelected()"
[indeterminate]="selection.hasValue() && !isAllSelected()"
[aria-label]="checkboxLabel()">
</mat-checkbox>
</th>
<td mat-cell *matCellDef="let row">
<mat-checkbox (click)="$event.stopPropagation()"
(change)="$event ? selection.toggle(row) : null"
[checked]="selection.isSelected(row)"
[aria-label]="checkboxLabel(row)">
</mat-checkbox>
</td>
</ng-container>

最佳答案

我在你的问题中没有看到相关的模板代码,但看起来你正在关注 example Material 中给出docs .这样的话,在mat-table的底部,会有如下代码

<tr mat-row *matRowDef="let row; columns: displayedColumns;"
(click)="selection.toggle(row)">
</tr>

只需删除将 切换为选中状态的 click 事件

<tr mat-row *matRowDef="let row; columns: displayedColumns;">
</tr>

现在您的复选框不会在点击该行时被选中。

Note: Doing this will also mean using $event.stopPropagation() is no longer needed so you can go ahead and remove that from your template as well.

关于html - Angular Material 表 : unbind checkbox click from row,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57810355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com