1

我正在尝试根据此链接在 ag-grid 上设置日期过滤器。主要区别在于 ag-grid 更喜欢日期格式 dd/mm/yyyy,而我的日期是 yyyy-mm-dd。

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

没有记录显示。我怎样才能克服这个故障?按照惯例,用户会将最早的日期放在首位,但这并不意味着上述情况是不可能的

4

0 回答 0