antd Table组件排序无效

antd的官方文档中对于某一列排序是这样描述的:在列相应的columns中定义一个sorter函数属性,但并未给出sorter函数的返回值,如下。

sorter: function(rowA, rowB) { ... }

官方案例中是这样写的,两个数字相减:

sorter: (a, b) => a.name.length - b.name.length,

  

这个sorter函数比较返回值,我的第一印象是Bool类型,于是写了下面的排序方法:

sorter: (a, b) => a.id > b.id

写排序函数时是在家里用mac电脑写的排序正常,传到公司Windows电脑后,这个排序死活没效果~~无论怎么点,参数a、b打印出来也是正常的,有点绝望。

一番百度后找到了原因,sorter函数根据返回值来进行排序,返回值为1时进行倒叙排序,返回值为-1时为正序排序!修改如下就正常了:

sorter: (a, b) => a.id > b.id ? 1 : -1

  

官网也没说返回值应该是1和-1啊,略坑~

猜你喜欢

转载自www.cnblogs.com/wurijie/p/12339720.html