美文网首页
layui表格排序hack,0永远是最小,比负数小

layui表格排序hack,0永远是最小,比负数小

作者: 戴码 | 来源:发表于2022-07-04 17:10 被阅读0次

    bug如图:


    image.png

    作者2.6.7已经修复该问题,refrence。但是,我们项目的版本是2.55,已经运行很久不想升级layui。于是增加如下修复文件 layui.hack.js.

    使用方法:在目标页面添加如下文件索引即可。

    ...
    <script src="layui.hack.js"></script>
    ...
    
    // layui.hack.js
    /**
     * 修复table排序问题(0永远是最小,比负数小)
     * create by coder.dai
     * time 2022年7月5日16:46:13
     * @returns 
     */
    (function hack() {
        layui.constructor.prototype.sort = function(e, t, o) {
            var n = JSON.parse(JSON.stringify(e || []));
            return t ? (n.sort(function(o1, o2) {
                var isNum = /^-?\d+$/
                ,v1 = o1[t]
                ,v2 = o2[t];
                
                if(isNum.test(v1)) v1 = parseFloat(v1);
                if(isNum.test(v2)) v2 = parseFloat(v2);
                if(v1 && v2!==0 && !v2){
                    return 1;
                    } else if(v1 !== 0 && !v1 && v2){
                    return -1;
                    }
                  
                if(v1 > v2){
                  return 1;
                } else if (v1 < v2) {
                  return -1;
                } else {
                  return 0;
                }
            }),
            
            o && n.reverse(),
            n) : n
        }
    })();
    

    相关文章

      网友评论

          本文标题:layui表格排序hack,0永远是最小,比负数小

          本文链接:https://www.haomeiwen.com/subject/pwbsbrtx.html