【问题标题】:Is it possible to sort a table column based on a month in griddle是否可以根据网格中的月份对表格列进行排序
【发布时间】:2018-01-18 21:15:44
【问题描述】:

我有一个像这样返回的时间戳:

2017 年 6 月 30 日星期五 09:57:18 GMT+0100 (BST)

我将其格式化为如下所示: 2017年6月30日星期五09:57

当它在 Griddle 中排序时,它按字母顺序排序 (四月,八月,十二月,二月,一月,七月,六月,三月,五月,十一月,十月,九月),但我真的想让它们按月份排序。

sortType: 元列中的“日期”不起作用。

return (<Griddle results={lRowData}
            columns={this.columns()}
            columnMetadata={this.columnMetadata()}
            initialSort="date"
            resultsPerPage={20}/>
        );
},
columns() {
    const lColumns = ['date'];
    return lColumns;
},
columnMetadata() {
    const lColumnMetadata = [{
        columnName: 'date',
        displayName: 'Date'
    }];
    return lColumnMetadata;
}

有没有办法使用某种索引表,例如:

allMonths = ['Jan' , 'Feb', 'Mar', 'Apr', 'May',...., 'Dec'] 哪里可以帮助对它们进行排序?

【问题讨论】:

    标签: reactjs sorting griddle


    【解决方案1】:

    对于 Griddle v0.x,请查看 customCompareFn (docs),例如

    const allMonths = ['Jan', 'Feb', ...];
    const lColumnMetadata = [{
        columnName: 'date',
        customCompareFn: date => allMonths.indexOf(date.substring(0, 3)),
        displayName: 'Date'
    }];
    

    【讨论】:

      猜你喜欢
      • 2019-11-14
      • 2013-09-04
      • 1970-01-01
      • 2023-03-30
      • 2015-12-10
      • 1970-01-01
      • 1970-01-01
      • 2020-04-08
      • 1970-01-01
      相关资源
      最近更新 更多