0

好的,所以我正在使用 PrimeNG 9 创建这个可重复使用的表。

<p-table [paginator]="true" [rows]="10" dataKey="id" [value]="rows">

除了 2 个因素外,这张桌子对我来说很好。

  1. 当有 10 行时,只有 1 页。但是当我以编程方式将新行添加到行列表中时,第 11 项必须出现在分页器的第 2 页中,但新页面没有创建或显示在分页器 n 中,因此看不到。(PS-Row被添加到表的值列表中,但是没有创建页面来查看)
  2. 当有 11 行,并且存在 2 页(10 + 1 行)并且第 11 项(第 2 页)被删除时,该页面不会被删除,我不知道如何以编程方式删除该页面。(PS-该项目已从表中删除。只是页面没有)。

在这两种情况下,table.reset() 都有效(table 是@viewchild),但页面排序、过滤器和其他配置都丢失了。

有没有一种方法可以控制分页器中页面的创建或删除,因为它不会自动发生?或者任何其他解决方法?

提前致谢。


得到了解决方案:

数组的更新应该发生在与表格相同的组件中,以便分页部分也重新渲染。在其他地方(服务或父组件)更新行数组数据不会触发分页器的更改。

4

1 回答 1

1
Every time you do crud operation
Clone or Delete
you need to assign the updated values to Array which is used to populate values in the table 
**[value] = new Array values.**

For instance :
1.After deleting the selected product 
deleteSelectedProducts() {
       // will delete selected product 
        });
    }

2.Need to call the api to get updated product list
and assign that array list to the table **value property**.
**[value] = new Array values.**
于 2021-08-04T18:29:28.433 回答