Layui表格自带筛选列的功能,但是这个筛选列会随着页面的刷新重置,想了一个方法解决这个问题,利用到了layui自带的本地存储。
//初始化表格
initTable(){
var cols = layui.data('cols').tableName;//从存储中获取列记录
if(cols==undefined)
{
{ field: '', title: '', type: 'checkbox', width: 80 },
{ field: 'Id', title: 'ID', hide: true, width: 80 },
}
table.render({
elem:'#id',
id:'id',
toolbar:'#toolbar',
cols[cols]
})
}
//工具栏事件监听
table.on('toolbar(toolbar)',function(obj){
switch(obj.event){
case 'LAYTABLE_COLS'://筛选列点击事件
setCols(obj);
break;
}
})
//保存筛选列
function setCols(obj) {
//点击筛选列面板里checkbox时保存
layui.$(".layui-form-checkbox").click(function () {
var cols = obj.config.cols[0];//这里获取的是一个对象数组,保存了表格渲染时配置的列
layui.data('cols', {
key: obj.config.id,
value: cols
})
})
}