Reactjs 如何在Ant Design V2.x表中排序数据?
我正在使用,无法更新到新版本。我继承了代码,我正在努力按照特定列对数据进行排序。它应该排序一次,而不是动态排序 这是我的React组件的Reactjs 如何在Ant Design V2.x表中排序数据?,reactjs,antd,Reactjs,Antd,我正在使用,无法更新到新版本。我继承了代码,我正在努力按照特定列对数据进行排序。它应该排序一次,而不是动态排序 这是我的React组件的return()函数中的内容: <Table size="small" dataSource={this.props.Data} rowKey={(record) => (record.LedgerId * 100 + record.PositionId).toString()} pagination={fa
return()
函数中的内容:
<Table size="small"
dataSource={this.props.Data}
rowKey={(record) => (record.LedgerId * 100 + record.PositionId).toString()}
pagination={false}
showHeader={true}
>
在其他地方
export interface ViewEntry {
//Id: number,
LedgerId: number,
PositionId: number,
Value: number,
children: ViewEntry[]
}
相关和不相关的职位
分拣机
属性中编写分拣函数。如果希望在默认情况下对整个数据集进行排序,可以在将数据源传递到表之前对其进行排序
列排序:
如果需要“默认排序”,只需创建一个函数对表外的数据进行排序
const sortData = (data) => {
// Call slice to create a new Array and prevent mutating it if it's stored in state
return data.slice().sort((a, b) => a.myKey - b.myKey);
}
...
<Table size="small"
dataSource={sortData(this.props.Data)}
rowKey={(record) => (record.LedgerId * 100 + record.PositionId).toString()}
pagination={false}
showHeader={true}
>
const sortData=(数据)=>{
//调用slice来创建一个新数组,并防止它在存储状态时发生变异
返回data.slice().sort((a,b)=>a.myKey-b.myKey);
}
...
(record.LedgerId*100+record.PositionId).toString()}
分页={false}
showHeader={true}
>
如果要将实际的分拣机添加到各个列中,则需要在列定义的分拣机
属性中编写排序函数。如果希望在默认情况下对整个数据集进行排序,可以在将数据源传递到表之前对其进行排序
列排序:
如果需要“默认排序”,只需创建一个函数对表外的数据进行排序
const sortData = (data) => {
// Call slice to create a new Array and prevent mutating it if it's stored in state
return data.slice().sort((a, b) => a.myKey - b.myKey);
}
...
<Table size="small"
dataSource={sortData(this.props.Data)}
rowKey={(record) => (record.LedgerId * 100 + record.PositionId).toString()}
pagination={false}
showHeader={true}
>
const sortData=(数据)=>{
//调用slice来创建一个新数组,并防止它在存储状态时发生变异
返回data.slice().sort((a,b)=>a.myKey-b.myKey);
}
...
(record.LedgerId*100+record.PositionId).toString()}
分页={false}
showHeader={true}
>
如果您想订购日期,我建议您:
import moment from 'moment';
加
{
title: 'Date',
dataIndex: 'date',
key: "date",
sorter: (a, b) => moment(a.date).unix() - moment(b.date).unix()
},
如果您想订购日期,我建议您:
import moment from 'moment';
加
{
title: 'Date',
dataIndex: 'date',
key: "date",
sorter: (a, b) => moment(a.date).unix() - moment(b.date).unix()
},
谢谢你的提示,我会试试的。我错过的技巧是对数据进行预排序。是的,我知道没有内置的方法。希望一切顺利!谢谢你的提示,我会试试的。我错过的技巧是对数据进行预排序。是的,我知道没有内置的方法。希望一切顺利!为可由内置JS存档的内容添加MomentJS Date是不必要的,并且会影响整个捆绑包的大小。它向整个供应商文件中添加了一大块内容。为可以在内置JS日期存档的内容添加MomentJS是不必要的,并且会影响整个捆绑包的大小。它向整个供应商文件中添加了一大块内容。