//this function sort table data in ASC and DESC order
_sortTable({ sortBy, sortDirection }) {
//console.log(event)
console.log('sortBy='+sortBy+', sortDirection='+sortDirection);
const tempList = _.sortBy(currentTableData , item => item[sortBy]);
const sortedListData = sortDirection === SortDirection.DESC ? tempList.reverse() : tempList;
this.setState({ sortBy, sortDirection, sortedListData });
rowRendererData = sortedListData;
this.tableRef.forceUpdateGrid();
}
在单击表的列标题时将调用此函数
sort={this._sortTable}
sortBy={this.state.sortBy}
sortDirection={this.state.sortDirection}
在<Table/>
上。
但是单击表头时,sortDirection
始终是ASCENDING
(ASC
)。
如何将sortDirection
更改为DESCENDING
(DESC
)?
答案 0 :(得分:0)
函数似乎将sortDirection
作为对象的属性,
那么您应该传递该参数:
sort={this._sortTable({sortDirection: SortDirection.DESC})}
sortBy={this.state.sortBy}
sortDirection={this.state.sortDirection}
答案 1 :(得分:0)
_sortTable({ sortBy, sortDirection }) {
this.setState(function(prevState) {
return { sortDirection: prevState.sortDirection === SortDirection.ASC ? SortDirection.DESC : SortDirection.ASC }
});
// console.log('sortBy='+sortBy+', sortDirection='+sortDirection);
const tempList = _.sortBy(currentTableData , item => item[sortBy]);
const sortedListData = this.state.sortDirection === SortDirection.DESC ? tempList.reverse() : tempList;
this.setState({ sortBy, sortedListData });
rowRendererData = sortedListData;
this.tableRef.forceUpdateGrid();
}