删除行(PrimeNg)后无法刷新p表中的数据

时间:2019-12-08 03:31:28

标签: angular primeng

  

我使用角度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>

1 个答案:

答案 0 :(得分:1)

  

根据PrimeNg文档

在某些情况下(例如重新应用排序),表可能需要了解其值的变化。为了提高性能,只有在值的引用发生更改时才执行此操作,这意味着使用设置器而不是ngDoCheck/IterableDiffers会降低性能。因此,当您操作诸如删除或添加项之类的值时,不要使用array之类的push方法,而要使用扩展运算符或类似方法创建一个新的数组引用。