首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PrimeNG表得到过滤行

PrimeNG表得到过滤行
EN

Stack Overflow用户
提问于 2018-08-06 14:51:40
回答 2查看 5.6K关注 0票数 10

我使用的是带有角5的PrimeNG 6.0.2,并且Table插件有问题。我切换到Table,因为不推荐DataTable。现在,我不能像以前那样访问过滤过的值。

假设我通过ViewChild在组件中定义了表:

代码语言:javascript
复制
@ViewChild('myTable') dataTable: Table;

使用DataTable,我只需访问保存已排序和筛选数据的_value属性:

代码语言:javascript
复制
dataTable._value[index] = ...;

但是现在,这个属性只保存排序数组,而我必须使用filteredValue属性:

代码语言:javascript
复制
dataTable.filteredValue[index] = ...;

我的问题是,filteredValue在任何筛选之前都是undefined,在筛选表时有值,在删除所有筛选文本后是null。这会产生一些非常丑陋的代码。

是否可以访问当前数据,无论是排序、筛选还是与起始数组相同?还是我必须采用这种方法?

EN

回答 2

Stack Overflow用户

发布于 2020-06-29 12:12:02

访问筛选后的值的另一种方法是声明onFilter事件,然后检索/存储已过滤的值。

代码语言:javascript
复制
// on your component class declare
onFilter(event, dt) { 
  this.filteredValues = event.filteredValue; 
}
代码语言:javascript
复制
<p-table #dt .... (onFilter)="onFilter($event, dt)">

票数 14
EN

Stack Overflow用户

发布于 2019-03-20 08:24:37

我知道这是一个很晚的答案,但对于任何有此问题的其他人,您只需在表本身上使用table.hasFilter()函数,并根据要访问的属性来决定。结果也带来了相当大的开销,但在我看来,它比做!!table.filteredValue要干净得多。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51710381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档