启用默认排序后,PrimeNG TurboTable 排序图标不可见
PrimeNG TurboTable sort icon not visible with default sorting enabled
在 PrimeNG 的 TurboTable 排序图标上启用默认排序时,初始加载时不可见,列 header 的样式与使用时的一样,并且数据已正确排序。当我手动点击 header 再次排序时出现排序图标。
html:
<p-table [columns]="columns" [value]="users" sortField="name" sortOrder="1">
<ng-template pTemplate="header" let-columns>
<tr>
<th *ngFor="let col of columns" [pSortableColumn]="col.field">
{{col.header}}
<p-sortIcon [field]="col.field"></p-sortIcon>
</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-user let-columns="columns">
// body ...
</ng-template>
</p-table>
组件:
this.columns = [
{field: 'name', header: 'Name'},
{field: 'email', header: 'email'}
]
有没有办法在默认排序列上显示排序图标?
如果像这样绑定 sortOrder 属性...
[sortOrder]="1"
...该值将被视为数字而不是字符串。有时很难知道字符串是否会在 PrimeNG 代码中被强制转换回数字。
我建议对所有 Angular 模板 属性 绑定使用 [brackets]
。否则,该类型将被视为字符串,这可能会导致错误。
这对于布尔值尤其有问题,所以我总是推荐这种语法:
[doSomething]="false"
如果确实需要一个字符串,这个语法就可以了:
[myProp]="'myString'"
在 PrimeNG 的 TurboTable 排序图标上启用默认排序时,初始加载时不可见,列 header 的样式与使用时的一样,并且数据已正确排序。当我手动点击 header 再次排序时出现排序图标。
html:
<p-table [columns]="columns" [value]="users" sortField="name" sortOrder="1">
<ng-template pTemplate="header" let-columns>
<tr>
<th *ngFor="let col of columns" [pSortableColumn]="col.field">
{{col.header}}
<p-sortIcon [field]="col.field"></p-sortIcon>
</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-user let-columns="columns">
// body ...
</ng-template>
</p-table>
组件:
this.columns = [
{field: 'name', header: 'Name'},
{field: 'email', header: 'email'}
]
有没有办法在默认排序列上显示排序图标?
如果像这样绑定 sortOrder 属性...
[sortOrder]="1"
...该值将被视为数字而不是字符串。有时很难知道字符串是否会在 PrimeNG 代码中被强制转换回数字。
我建议对所有 Angular 模板 属性 绑定使用 [brackets]
。否则,该类型将被视为字符串,这可能会导致错误。
这对于布尔值尤其有问题,所以我总是推荐这种语法:
[doSomething]="false"
如果确实需要一个字符串,这个语法就可以了:
[myProp]="'myString'"