Angular 如何在单击列中的图像时突出显示Priming datatable行?

Angular 如何在单击列中的图像时突出显示Priming datatable行?,angular,primeng,primeng-datatable,Angular,Primeng,Primeng Datatable,我有10列的数据表。最后一列包含图像。单击图像时,我必须高亮显示该行 如果我在datatable中添加选择模式“single”,则在单击行时会高亮显示该行。我不想那样。我希望它只在用户单击最后一列的图像时突出显示 <p-column> <ng-template let-row="rowData" pTemplate type="body"> <img src="assets/images/info_icon.jpg" style=

我有10列的数据表。最后一列包含图像。单击图像时,我必须高亮显示该行

如果我在datatable中添加选择模式“single”,则在单击行时会高亮显示该行。我不想那样。我希望它只在用户单击最后一列的图像时突出显示

<p-column>
        <ng-template let-row="rowData" pTemplate type="body">
          <img src="assets/images/info_icon.jpg" style="height:20px;width:20px">
        </ng-template>
  <p-column>

您需要做的是在图像上设置一个单击事件,该事件将切换关联行的属性。让我们称之为财产被选中

图像列的HTML代码变为

<p-column field="isSelected" header="" [style]="{'width':'32px','cursor': 'pointer'}">
  <ng-template pTemplate="body" let-rowData="rowData">
    <img src="https://image.flaticon.com/icons/svg/106/106705.svg" (click)="rowData.isSelected=!rowData.isSelected"/>
  </ng-template>
</p-column>
isRowSelected函数将返回一个类名,具体取决于您是否选择了行

isRowSelected(rowData: any) {
  return (rowData.isSelected) ? "rowSelected" : "rowUnselected";
}
最后,创建这两个CSS类:rowSelected和rowUnselected


下面是一个有效的

您需要做的是在图像上设置一个单击事件,该事件将切换关联行的属性。让我们称之为财产被选中

图像列的HTML代码变为

<p-column field="isSelected" header="" [style]="{'width':'32px','cursor': 'pointer'}">
  <ng-template pTemplate="body" let-rowData="rowData">
    <img src="https://image.flaticon.com/icons/svg/106/106705.svg" (click)="rowData.isSelected=!rowData.isSelected"/>
  </ng-template>
</p-column>
isRowSelected函数将返回一个类名,具体取决于您是否选择了行

isRowSelected(rowData: any) {
  return (rowData.isSelected) ? "rowSelected" : "rowUnselected";
}
最后,创建这两个CSS类:rowSelected和rowUnselected

这是一张工作票