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