【发布时间】:2017-07-31 13:16:31
【问题描述】:
基本上所有信息都在标题中提供。
在我看来,我被绑定到可用的 filterMatchModes(包含、in、equals、endsWith、startsWith)。在我的用例中,我的列字段是一个数组,没有单个值。
我指定的列如下所示:
<p-column field="types" [filter]="true" header="{{'AIRPORTS.TYPES' | translate}}">
<template let-airport="rowData" pTemplate="body">
<span *ngFor="let type of airport.types; let isLast = last">
{{('AIRPORTS.' + type) | translate}}{{isLast ? '' : ', '}}
</span>
</template>
<template pTemplate="filter" let-col>
<p-dropdown [options]="choices"
[style]="{'width':'100%'}"
(onChange)="airportsDataTable.filter($event.value,col.field,col.filterMatchMode)"
styleClass="ui-column-filter">
</p-dropdown>
</template>
</p-column>
【问题讨论】:
-
你找到解决办法了吗?
-
不,只有一种解决方法,我将数组转换为逗号分隔的字符串,并使用包含过滤器...似乎没有内置的方式来使用过滤器功能。在源代码中,他们编写现有过滤器函数的位置非常简单,因此只需添加一个就很容易,但是是的..我想也不建议弄乱源代码:)。我应该为功能请求腾出时间,但我又没有多少空闲时间。
-
@Tim 也许我的回答会有所帮助。 (我提到你是因为你不会收到别人问题的答案的通知)
-
谢谢@mtx - 我会试试你的解决方案。同时,我将数据数组更改为扁平化。
标签: angular filter html-table datatable primeng