根据输入角度过滤多维数组

时间:2018-08-03 19:15:01

标签: angular primeng

我有一个primeng p-table组件,在其中它的(onChange)事件调用了我自己的函数filterData(),该函数在$ event,p表和表的列中传递。在filterData内部,我调用filter函数,它是p-table的内置函数,如下所示:

dt.filter(event.value, 'column1', 'equals'); //dt is the ID of the p-table component

内置的filter()函数不返回任何内容。

在此组件中,我还有一个按钮,用于将p-table的内容导出到excel。唯一的问题是它仅导出p-table的全部内容。我需要它根据过滤的内容导出。

由于内置的​​filter()函数不返回任何内容,如何才能轻松地将过滤后的数据传递到逻辑中以填充Excel?或者更好的是,如何直接访问过滤的数据?

我的原始数据是:

subs: Sub[]; //the array I want to filter on

Sub {
    id: number;
    cont: Cont; //custom object type
    type: Type; //custom object type
    gen: Gen; //custom object type
}

1 个答案:

答案 0 :(得分:0)

根据来源(https://github.com/primefaces/primeng/blob/master/src/app/components/table/table.ts),filter()函数将更新一个公共filteredValue字段,您应该可以访问该字段:

<button type="button" pButton label="Export"
        (click)="onExportClick(dt.filteredValue, $event)"