我使用了启动全局过滤器
<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文件。但在最新版本中也有同样的问题:( :(
答案 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'));
}