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

2019-09-26  本文已影响0人  Gerhard_杨光辉

在开发的过程中遇到的一个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
    });
  });
上一篇下一篇

猜你喜欢

热点阅读