프라이밍 글로벌 필터를 사용했습니다.
<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 문서를 확인했습니다 . 그러나 최신 버전에서도 동일한 문제가 있습니다 :( :(
문제를 해결하기위한 해결 방법은 다음과 같습니다.
여기서 트릭은 사용자가 'X'아이콘을 클릭하여 필터 텍스트를 지우면 keyup 이벤트를 발생시키는 것인데, 이는 데이터 테이블 구성 요소를 'keyup'이벤트가 발생했을 때만 필터 상태를 새로 고치기 때문입니다.
(검색) 이벤트는 사용자가 'X'아이콘을 클릭하면 발생합니다. 입력 유형 = '검색'일 때입니다. type = 'text'로 언급 한 질문 설명에서이를 수정하십시오.
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'));
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다