У меня есть эта таблица:
<p-table [value]="claims" [lazy]="true" (onLazyLoad)="loadClaimsLazy($event)"
[paginator]="true" [rows]="10" [totalRecords]="totalRecords" [loading]="loading" [rowsPerPageOptions]="[10,25,50]">
<ng-template pTemplate="header">
<tr>
<!--<th style="width: 3em"></th>-->
<th [pSortableColumn]="'claimSummary.id'">
Ref
<p-sortIcon [field]="'claimSummary.id'"></p-sortIcon>
</th>
<th [pSortableColumn]="'claims.lastName'">
Claimant
<p-sortIcon [field]="'claims.lastName'" ariaLabel="Activate to sort" ariaLabelDesc="Activate to sort in descending order" ariaLabelAsc="Activate to sort in ascending order"></p-sortIcon>
</th>
<th>Date Claimed</th>
<th>Beneficiary</th>
<th align="right">Claim amount in Euros</th>
<th align="right">Creator</th>
<th align="right">Assignee</th>
<th align="right">Actions</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-claimSummary>
<tr>
<td>{{claimSummary.id}}</td>
<td>{{claimSummary.claimMep.lastName}} {{claimSummary.claimMep.firstName}}</td>
<td>{{claimSummary.claimDate | date: 'dd/MM/yyyy'}}</td>
И машинопись:
loadClaimsLazy(event: LazyLoadEvent) {
const statusUpperCase = this.selectedStatus.toLocaleUpperCase();
console.log('loadClaimsLazy '+statusUpperCase);
this.getData( event.first, event.rows);
}
private getData(first: number, numRows: number){
const statusUpperCase = this.selectedStatus.toLocaleUpperCase();
console.log('getData '+statusUpperCase);
this._claims.getClaimsByStatus(statusUpperCase,first, numRows)
.pipe(takeWhile(() => this.alive))
.subscribe((list: IClaimsList) => {
this.totalRecords = list.count;
this.claims = list.claims;
});
}
Это дает мне селекторы в заголовке Ref.
Когда я щелкаю по заголовку, он запускает вызов метода loadClaimsLazy
, но тело не сортируется.
Вы знаете, что мне здесь не хватает?