我使用的是带有角5的PrimeNG 6.0.2,并且Table插件有问题。我切换到Table,因为不推荐DataTable。现在,我不能像以前那样访问过滤过的值。
假设我通过ViewChild在组件中定义了表:
@ViewChild('myTable') dataTable: Table;使用DataTable,我只需访问保存已排序和筛选数据的_value属性:
dataTable._value[index] = ...;但是现在,这个属性只保存排序数组,而我必须使用filteredValue属性:
dataTable.filteredValue[index] = ...;我的问题是,filteredValue在任何筛选之前都是undefined,在筛选表时有值,在删除所有筛选文本后是null。这会产生一些非常丑陋的代码。
是否可以访问当前数据,无论是排序、筛选还是与起始数组相同?还是我必须采用这种方法?
发布于 2020-06-29 12:12:02
访问筛选后的值的另一种方法是声明onFilter事件,然后检索/存储已过滤的值。
// on your component class declare
onFilter(event, dt) {
this.filteredValues = event.filteredValue;
}<p-table #dt .... (onFilter)="onFilter($event, dt)">
发布于 2019-03-20 08:24:37
我知道这是一个很晚的答案,但对于任何有此问题的其他人,您只需在表本身上使用table.hasFilter()函数,并根据要访问的属性来决定。结果也带来了相当大的开销,但在我看来,它比做!!table.filteredValue要干净得多。
https://stackoverflow.com/questions/51710381
复制相似问题