我正在使用Ag-Grid免费版,其中我使用分页从服务器端加载数据。我添加了一个浮动过滤器,以根据列中的用户输入从服务器加载数据。 当用户键入一个字符时,我尝试使用过滤器参数,它使服务器调用并获取结果。但是,对于一个字符,它不进行一次调用(而是根据表中可用数据的数量)进行n次调用。以及一旦收到结果数据,过滤后的文本就会消失。
{
headerName: 'Action',
field: 'action',
filterParams: {
filterOptions: ['contains'],
applyButton: false,
resetButton: false,
debounceMs: 2000,
textCustomComparator: (filter, value, filterText) => {
const filteredText = filterText.charAt(0).toUpperCase() + filterText.slice(1);
if (filteredText) {
this.searchData(filteredText);
console.log('filterText', filterText);
} else {
console.log('else block got called');
}
},
},
suppressMenu: true,
floatingFilterComponentParams: { suppressFilterButton: true }
},
服务器呼叫:
searchData(text: string) {
this.auditService.getColumnSearch(text).pipe(first()).subscribe((searchDatas: any) => {
this.rowData = searchDatas.docs;
this.pagination = searchDatas.items;
this.paginationPages = searchDatas.pages;
});
}
我想知道是否有人尝试过在服务器端的ag-grid中使用列过滤器,以及您是如何做到的。