【发布时间】:2026-02-07 04:35:01
【问题描述】:
我有一个 Angular Material 工具提示,用于在将鼠标悬停在表格元素中的列单元格上时显示信息。除了这个功能之外,我还要求用户能够选择文本并从表格元素中突出显示它,以便他们可以复制和粘贴它。
因为我使用 Angular Material 工具提示和 ::ng-deep 将其显示在列的顶部,它会在现有 DOM 元素上创建一个覆盖,因此我无法选择列中的文本。有没有办法解决?我必须编辑 matToolTip 类吗?
谢谢!
我的最终解决方案是使用更原生的工具提示元素,该元素将成为 DOM 的一部分,并且不会阻止用户选择文本,但这并不那么漂亮,所以这是我最后的手段。
edit.component.html
import { MatTooltipModule } from '@angular/material/tooltip';
<ng-container matColumnDef="DepartmentName">
<th mat-header-cell *matHeaderCellDef></th>
<td
mat-cell
*matCellDef="let row"
[matTooltip]="getTooltipMissingDepartments(row)"
matTooltipClass="missing-mds-tooltip"
>
{{ row?.DepartmentName }}
</td>
</ng-container>
edit.component.scss
::ng-deep .missing-mds-tooltip {
white-space: pre-line;
}
用户应该能够将鼠标悬停在列上并看到工具提示,以及突出显示该列的表格中的文本。
【问题讨论】:
标签: javascript angular dom angular-material tooltip