单击删除图标时,全局筛选器不起作用

时间:2017-06-20 09:42:55

标签: angular typescript filter primeng global-filter

我使用了启动全局过滤器

<input #gb1 type="text" pInputText class="ui-widget ui-text" 
 placeholder="Find"><img class="search" src="assets/images/Search.png" />

 <p-dataTable class="ui-widget-h1-header1" [value]="searchHistoryList" 
[responsive]="true" [rows]="10" [globalFilter]="gb1" #dt1>...

一切都很好。但是如果在点击删除图标时清除值,则无效。

我已检入https://www.primefaces.org/primeng/#/datatable/filter文件。但在最新版本中也有同样的问题:( :(

1 个答案:

答案 0 :(得分:1)

这是解决您的问题的方法。

这里的诀窍是当用户点击&#39; X&#39;时发出一个键盘事件。用于清除过滤器文本的图标。这是因为primeng数据表组件只在刷新&#39; keyup&#39;时才刷新它的过滤器状态。事件已经发生。

当用户点击&#39; X&#39;时,会触发

(搜索)事件。图标,这是输入类型=&#39;搜索&#39;。请在您提到的问题陈述中更正此问题,并提及type =&#39; text&#39;。

your.component.html

<input #gb1 (search)="refreshFilterState()" [(ngModel)]="filterText" type="search" pInputText class="ui-widget ui-text" placeholder="Find"><img class="search" src="assets/images/Search.png"/>


<p-dataTable class="ui-widget-h1-header1" [value]="searchHistoryList" [responsive]="true" [rows]="10" [globalFilter]="gb1" #dt1> --

your.component.ts

import {InputText} from 'primeng/primeng'
@ViewChild('gb1') inputtext: InputText;

refreshFilterState(){
   this.inputtext['nativeElement'].dispatchEvent(new KeyboardEvent('keyup'));
 }