Реагировать AG-Grid: фильтр даты в диапазоне - не работает, если вы измените дату

Я пытаюсь настроить фильтр даты на ag-grid по этой ссылке. Основное отличие состоит в том, что ag-grid предпочитает формат даты дд / мм / гггг, тогда как мои даты указаны в гггг-мм-дд.

comparator:function (filterLocalDateAtMidnight, cellValue){
    let dateParts  = cellValue.split("-");
    let cellDate = new Date(Number(dateParts[0]), Number(dateParts[1]) - 1, Number(dateParts[2]));
    if (cellDate < filterLocalDateAtMidnight) {
        return -1;
    } else if (cellDate > filterLocalDateAtMidnight) {
        return 1;
    } else {
        return 0;
    }

Приведенный выше код работает условно, хотя я заметил особый случай. при выборе условия фильтра даты "inRange" и установке даты, например:

dateFrom = 2017-07-13
dateTo = 2017-08-20

он работает нормально, и я вижу записи между этими двумя датами, но если вы измените даты, то есть:

dateFrom = 2017-08-20
dateTo = 2017-07-13

Нет записей. Как я могу преодолеть этот глюк? Обычно пользователь ставит самую раннюю дату первой, но это не означает, что описанный выше сценарий невозможен

0 ответов

Другие вопросы по тегам