Есть ли возможность применить фильтр / событие поиска для параметра tableChange (рядом с filterChange и событием поиска)
Я использую:
- mui-datatables 2.4.0
- реагировать 16.8.1
- машинопись 3.3.3
- vs2017 CE 15.9.12
Я сам занимаюсь разбиением на страницы (serverSide = true) и использую опцию tableChange для перехвата событий и обработки поиска и фильтрации. Однако: доступны только filterChange и поисковые события, которые запускаются при каждом входе пользователя. Я хочу выполнять поиск и фильтрацию (оба внутренних действия, которые занимают время), если пользователь решает нажать кнопку поиска или кнопку применения фильтра (последнее недоступно). Я что-то упустил в документации, представленной здесь?
Попробовал софар: - Я поместил console.log в событие tableAction, но ничего не вижу, когда нажимается кнопка поиска или когда я нажимаю ввод в диалоговом окне фильтра.
Это мое текущее определение смены таблицы:
onTableChange: (action, tableState) => {
Tools.logDebug(ENUM.PAGENAME.TVPDATATABLE, "render").addVarStr("ONTABLECHANGE-ACTION:" + action).log();
// a developer could react to change on an action basis or
// examine the state as a whole and do whatever they want
switch (action) {
case 'changePage':
case 'changeRowsPerPage':
this.props.config.handleDataTableStateChange(tableState);
if (serverSide) { this.getPage(tableState.page, tableState.rowsPerPage); }
break;
case 'filterChange':
this.props.config.handleDataTableStateChange(tableState);
console.log("FILTERLENGTH: "+ tableState.filterList.length);
if (Tools.isEmpty(tableState.filterList, D.Enum_FIELDTYPE.ARRAY)) { return; }
else {
this.filterList(tableState.filterList);
break;
}
case 'search':
this.props.config.handleDataTableStateChange(tableState);
//if searchstring empty display current page
if (Tools.isEmpty(tableState.searchText)) {
this.getPage(tableState.page, tableState.rowsPerPage);
}
else {
//search from configurable number of characters
if (tableState.searchText.length < Number(ENUM.GLOBALSETTINGS.DATATABLE_NOOFCHARSTOSTARTSEARCH)) {
console.log("PAGE: "+ tableState.page);
return;
}
else {
this.searchList(tableState.searchText);
break;
}
}
}
}
Любая помощь высоко ценится!