解决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
});
});