美文网首页
解决layui table 隐藏列导致展示的数据错位

解决layui table 隐藏列导致展示的数据错位

作者: Gerhard_杨光辉 | 来源:发表于2019-09-26 07:41 被阅读0次

    在开发的过程中遇到的一个layui数据表格的问题
    为了表格展示美观,对一些内部ID列数据进行隐藏,但发现在排序之后,已隐藏的列会再次出现,导致表格展示的数据错位

    原因:
    done回调,是在render和reload的时候执行,sort方法并不会执行

    解决办法:
    既然sort放到不执行done回调,我们就在生成完表格之后,监听排序事件,在排序事件里面执行reload方法,重新执行done回调,并且初始化排序

    示范代码:

      table.render({
        elem: "#LAY-enterpriseemployee-employee-table"
        , method: "post"
        , url: url
        , contentType: 'application/json;charset=utf8'
        , toolbar: "#employeeToolbar"
        , defaultToolbar: ['filter', 'print', 'exports']
        , cols: cols
        , page: {
          limit: 15, limits: [15, 30, 50]
        }
        , height: "full-110"
        , cellMinWidth: 120
        , text: "对不起,加载出现异常!"
        , done: function () {
         //隐藏内部ID字段
          $("[data-field='enterpriseId']").css('display', 'none')
          $("[data-field='userId']").css('display', 'none');
        }
      });
    
     // 解决隐藏列后排序后数据错误问题
      table.on('sort(LAY-enterpriseemployee-employee-table)', function (obj) {
        table.reload('LAY-enterpriseemployee-employee-table', {
          initSort: obj
        });
      });
    

    相关文章

      网友评论

          本文标题:解决layui table 隐藏列导致展示的数据错位

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