[英]How to disable sorting for selected columns in PrimeNG table?
我正在嘗試根據 PrimeNG 表中的布爾值禁用對選定列的排序。 下面是我的列數組
cols = [
{ field: 'name', header: 'Name', sort: true },
{ field: 'age', header: 'Age', sort: true },
{ field: 'gender', header: 'Gender', sort: false },
{ field: 'status', header: 'Status', sort: false }
];
某些列的sort
值為false
,我需要禁用這些列的排序。
<p-table [columns]="cols" [value]="persons" [resizableColumns]="true" sortField="name" sortMode="single">
<ng-template pTemplate="header" let-columns>
<tr>
<th pResizableColumn *ngFor="let col of columns" [pSortableColumn]="col.field" [pSortableColumnDisabled]="col.field === 'name' || col.field === 'age'">
<div class="tb-heading">{{col.header}}</div>
<div class="sort-icons-container">
</div>
</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-rowData let-columns="columns">
<tr [pSelectableRow]="rowData">
<td *ngFor="let col of columns">
{{rowData[col.field]}}
</td>
</tr>
</ng-template>
</p-table>
我可以使用上面的代碼來禁用列,即name
age
禁用列,但我不pSortableColumnDisabled
上面那樣硬編碼列名,因為這些列將由父組件動態傳遞。
有沒有辦法根據各自的sort
布爾值禁用列?
在互聯網上花費了一段時間后,找到了上述問題的解決方案https://embed.plnkr.co/egBhS1DJhY2Ud1ByfGBp/
將硬編碼條件從
[pSortableColumn]="col.field" [pSortableColumnDisabled]="col.field === 'name' || col.field === 'age'"
至
[pSortableColumnDisabled]="!col.sort ? true : false"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.