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函数根据返回值来进行排序,返回值为>0时进行倒叙排序,返回值为<0时为正序排序!修改如下就正常了:

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

  

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM