1.文本无法直接拿来排序,如果是文本中带有数字,只用数字比大小可以用replace掉字符串
2.如果是纯文本排序,可以给表格文本用如下属性
sorter: (a, b) => {
var stringA = a.name.toUpperCase() // ignore upper and lowercase
var stringB = b.name.toUpperCase() // ignore upper and lowercase
if (stringA < stringB) {
return -1
}
if (stringA > stringB) {
return 1
}
// names must be equal
return 0
},
sortDirections: ['descend', 'ascend'],
3.如果有一列数据需要默认排序,其他几列数据不排序但是需要有排序功能:
慎用sortOrder,因为用了sortOrder后,其表头就不能点击进行排序
{
title: '排名',
dataIndex: 'rank',
width: 110,
align: 'center',
key: 'wifi',
sorter: (a, b) => a.rank - b.rank,
},
{
title: '评分',
dataIndex: 'score',
width: 120,
align: 'center',
key: 'score',
sorter: (a, b) => a.score - b.score,
defaultSortOrder: 'descend',
},