zoukankan      html  css  js  c++  java
  • 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啊,略坑~

  • 相关阅读:
    解析iscroll-小demo
    iscroll的理解
    jquery代码小片段
    jQuery的性能优化
    事件代理
    数组方式使用jQuery对象
    循环时的dom操作
    JavaScript中的ajax(二)
    jQuery与ajax的应用(一)
    表单应用
  • 原文地址:https://www.cnblogs.com/wurijie/p/12339720.html
Copyright © 2011-2022 走看看