我使用角度8的primeng 8.1
我用#dt引用我的p表,然后调用dt.reset()和getcandidates()刷新
但是它显示了p表的第一页,而没有刷新我在官方网站中搜索过的列表 文档但是 我找不到解决方案,因此刷新数据的唯一方法是重新加载整个导航器页面
<p-table #dt
[paginator]="true"
[columns] = "cols"
[value]="listcandidats"
[totalRecords]="listcandidats.length"
[paginator]="true"
[rows]="5"
[style.top.px]="screenHeight/6"
>
<ng-template pTemplate="caption">
<div style="text-align: right">
<i class="fa fa-search" style="margin:4px 4px 0 0"></i>
<input type="text" pInputText size="50" placeholder="Recherche multioption"
(input)="dt.filterGlobal($event.target.value, 'contains')" style="width:auto">
</div>
</ng-template>
<ng-template pTemplate="header" let-columns>
<tr>
<th>Candidat</th>
<th>Action</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-rowData >
<tr [pSelectableRow]="rowData" >
<td [style.width.px]="screenWidth/8"> <h3>{{rowData.nom}}</h3></td>
<td>
<button pButton type="button" label="modifier" (click)="showDialog(rowData.id)" class="ui-
button-rounded ui-button-warning">
</button>
<button pButton type="button" label="supprimer"
(click)="deletecandidat(rowData.id);dt.reset();getcandidats()" class="ui-button-rounded ui-
button-danger"></button>
</td>
</tr>
<hr [style.width.px]="screenWidth">
</ng-template>
</p-table>
答案 0 :(得分:1)
根据PrimeNg文档
在某些情况下(例如重新应用排序),表可能需要了解其值的变化。为了提高性能,只有在值的引用发生更改时才执行此操作,这意味着使用设置器而不是ngDoCheck/IterableDiffers
会降低性能。因此,当您操作诸如删除或添加项之类的值时,不要使用array
之类的push
方法,而要使用扩展运算符或类似方法创建一个新的数组引用。{1} >