使用 angular (4.1.3) 和 primeng (4.0.3) 数据表我需要设置过滤器值(例如来自 URL 参数)。
primeng ( https://www.primefaces.org/primeng/#/datatable/filter ) 有一个关于自定义过滤器的很好的文档。我尝试使用primeng InputText 组件作为自定义过滤器类似地实现它:
<p-dataTable
[value]="licenses" scrollable="true"
exportFilename="licenses"
sscrollHeight="60vh" [paginator]="true" [rows]="20" [pageLinks]="10" [rowsPerPageOptions]="[5,10,20,50,100,999999]" #dt>
<p-column [style]="{'width':'180px'}" [sortable]="true" field="customerId" header="Customer ID" [filter]="true" filterMatchMode="contains" filterPlaceholder="Search">
<ng-template pTemplate="filter" let-col>
<input type="text" pInputText [(ngModel)]="custFilter" style="width:100%" (onChange)="dt.filter($event.value,col.field,col.filterMatchMode)" class="ui-column-filter"/>
</ng-template>
</p-column>
...
</p-dataTable>
现在我有一个输入字段,它看起来像“常规”字段,甚至还有一个来自我的组件的“custFilter”模型作为预选的过滤器值。
唯一的问题是,这个自定义过滤器不起作用。无论我输入哪个值,它都不会过滤(与“常规”primeng 数据表过滤器相反)。 这是一个截图