Как я могу обнаружить, когда закрывается диалоговое окно фильтра Ag Grid?Javascript

Форум по Javascript
Ответить
Anonymous
 Как я могу обнаружить, когда закрывается диалоговое окно фильтра Ag Grid?

Сообщение Anonymous »

У меня есть сетка Ag, реализованная в React/TypeScript. Он автоматически обновляется с новыми данными, а столбцы имеют фильтры. Когда появляются новые данные, сетка перезагружается с изменениями, которые закрывают диалог фильтра, если она открыта. Это не идеально. Похоже, что жизнеспособное решение - отслеживать, когда диалог открыт, и удерживать обновления, пока оно открыто. Я могу отслеживать, когда откроется диалоговое окно фильтра (

Код: Выделить всё

onFilterOpened
), или когда он меняется (

Код: Выделить всё

onFilterChanged
), но я не уверен, как обнаружить закрытие диалогового окна, не внося изменение, отключив его, чтобы я мог возобновить изменения.const onFilterOpened = () => {
console.log("Filter opened.");
setIsFilterDialogOpen(true);
};

const onSortChanged = () => {
if (gridApiRef.current) {
columnState.current = gridApiRef.current.getColumnState();
}
};

const onFilterChanged = (event: { api: GridApi; }) => {
if (
event.api.getFilterModel() &&
Object.keys(event.api.getFilterModel()).length > 0
) {
console.log("Filter dialog is opened");
setIsFilterDialogOpen(true);
} else {
console.log("Filter closed.");
setIsFilterDialogOpen(false);
}

console.log("Filter changed");
};
< /code>
и настроен здесь: < /p>

< /code>
Я получаю сообщение «Открытое» фильтра », когда оно открывается, и« Диалог фильтра открывается », когда я ввода ввода в фильтр. Но ничего, когда это закрывается.


Подробнее здесь: https://stackoverflow.com/questions/797 ... log-closes
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»