首页 > 解决方案 > 突出显示primeng表中的选定行而不选中复选框

问题描述

我正在使用primengp-tablep-checkbox。我希望能够在不选中复选框的情况下突出显示单击的行(或行内容)。应在单击复选框本身而不是行时选中复选框。我尝试使用[pSelectableRow],但除了突出显示它之外,它还检查复选框。

<p-table [columns]="cols" [value]="brands" [(selection)]="selected" dataKey="vin">
    <ng-template pTemplate="header" let-columns>
        <tr>
            <th style="width: 3em">
                <p-tableHeaderCheckbox></p-tableHeaderCheckbox>
            </th>
            <th *ngFor="let col of columns">
                {{col.header}}
            </th>
        </tr>
    </ng-template>
    <ng-template pTemplate="body" let-rowData let-columns="columns">
        <tr [pSelectableRow]="rowData">
            <td>
                <p-tableCheckbox [value]="rowData"></p-tableCheckbox>
            </td>
            <td *ngFor="let col of columns">
                {{rowData[col.field]}}
            </td>
        </tr>
    </ng-template>
</p-table>

我应该怎么做才能只突出显示单击的行,而不选中复选框?我创建了一个Stackblitz示例。

标签: angularprimengp-table

解决方案


在行上添加一些类

<tr [pSelectableRow]="rowData" class="some-class">

然后在css中做伎俩

.some-class:hover {
  background-color: some color... or put any style you need
}

推荐阅读