Jan*_*n69 1 primeng angular primeng-datatable
我有10列的PrimeNG数据表。最后一列包含图像。单击图像后,我必须突出显示该行。
如果我在数据表中添加选择模式“单一”,则在单击行时会突出显示该行。我不要那个。我希望仅在用户单击最后一列的图像时将其突出显示。
<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>
Run Code Online (Sandbox Code Playgroud)
您要做的是click在图像上设置一个事件,该事件将切换关联行的属性。我们将该属性称为isSelected。
图片栏的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>
Run Code Online (Sandbox Code Playgroud)
然后将rowStyleClassPrimeNG属性添加到您p-dataTable将调用函数的属性中,让我们为其命名isRowSelected
<p-dataTable [value]="cars" [rowStyleClass]="isRowSelected">
Run Code Online (Sandbox Code Playgroud)
该isRowSelected函数将返回一个类名,具体取决于您是否选择了该行
isRowSelected(rowData: any) {
return (rowData.isSelected) ? "rowSelected" : "rowUnselected";
}
Run Code Online (Sandbox Code Playgroud)
最后,创建这两个CSS类:rowSelected和rowUnselected
tr.rowUnselected > td {
color: black;
background-color: white !important;
}
tr.rowSelected > td {
color: black;
background-color: #dff0d8 !important;
}
Run Code Online (Sandbox Code Playgroud)
这是一个工作的柱塞
| 归档时间: |
|
| 查看次数: |
3992 次 |
| 最近记录: |