在開發(fā)的過程中遇到的一個layui數(shù)據(jù)表格的問題
為了表格展示美觀粪摘,對一些內(nèi)部ID列數(shù)據(jù)進行隱藏,但發(fā)現(xiàn)在排序之后清蚀,已隱藏的列會再次出現(xiàn)蹲嚣,導致表格展示的數(shù)據(jù)錯位
原因:
done回調(diào)递瑰,是在render和reload的時候執(zhí)行,sort方法并不會執(zhí)行
解決辦法:
既然sort放到不執(zhí)行done回調(diào)隙畜,我們就在生成完表格之后泣矛,監(jiān)聽排序事件,在排序事件里面執(zhí)行reload方法禾蚕,重新執(zhí)行done回調(diào),并且初始化排序
示范代碼:
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: "對不起狂丝,加載出現(xiàn)異常换淆!"
, done: function () {
//隱藏內(nèi)部ID字段
$("[data-field='enterpriseId']").css('display', 'none')
$("[data-field='userId']").css('display', 'none');
}
});
// 解決隱藏列后排序后數(shù)據(jù)錯誤問題
table.on('sort(LAY-enterpriseemployee-employee-table)', function (obj) {
table.reload('LAY-enterpriseemployee-employee-table', {
initSort: obj
});
});