Ag-Grid 过滤器日期列仅按日期比较,不包括时间部分

问题描述 投票:0回答:1

该列的字段是带有时间的日期,因此当使用仅日期值进行过滤时,找不到任何内容。 我尝试了 [AG-Grid][1] 中的示例 但它根本不过滤。

有什么建议吗?我使用 AG-Grid 社区并反应 32.0.2 谢谢 [1]:https://www.ag-grid.com/javascript-data-grid/filter-date/

ag-grid ag-grid-react
1个回答
0
投票

示例 https://www.ag-grid.com/javascript-data-grid/filter-date/ 有一个错误。

我将其更改为:

const filterParamsDateOnly: IDateFilterParams = { 
   comparator: (filterLocalDateAtMidnight, cellValue) => {
      const dateAsString = cellValue.toLocaleDateString('en-US');
        if (dateAsString === null) return -1;
        const cellDate = new Date(dateAsString);
        if (filterLocalDateAtMidnight.getTime() === cellDate.getTime()) {
            return 0;
        }
        if (cellDate < filterLocalDateAtMidnight) {
            return -1;
        }
        if (cellDate > filterLocalDateAtMidnight) {
            return 1;
        }
        return 0;
    },
    minValidYear: 2000,
    inRangeFloatingFilterDateFormat: 'MM/DD/YYYY',
};

而且效果很好。

© www.soinside.com 2019 - 2024. All rights reserved.