layui table 保存状态赋值checkbox

在项目中遇到一个问题,layui的checkbox复选框选择之后切换分页返回时选择状态消失,需要重新给checkbox赋值、

layui table 保存状态赋值checkbox

设置一个缓存set,保存选中项

var checkedSet = new Set();

监听点击check事件

 table.on('checkbox(dataguid1Table)', function(obj){
					  console.log(obj.checked); //当前是否选中状态
					  console.log(obj.data); //选中行的相关数据
					  console.log(obj.type); //如果触发的是全选,则为:all,如果触发的是单选,则为:one
     //选中时加入set 否则移除
					  	if(obj.checked){
					  		checkedSet.add(obj.data.uuid);
					  	}else{
					  		checkedSet.delete(obj.data.uuid)
					  	}
					  console.log(checkedSet);
					});

在表格渲染之前对check赋值,lay表格生命周期官网没有,parseData: function(res)在渲染表格之前,就在这个方法里面做文章

parseData: function(res){ //res 即为原始返回的数据
					    	for(var i in res.rows){
					    		if(checkedSet.has(res.rows[i].uuid)){
                                    //如果set集合中有的话,给rows添加check属性选中
					    			res.rows[i]["LAY_CHECKED"] = true;
					    		}
					    	}
						    return {
						        "code": res.status, //解析接口状态
						        "count": res.total, //解析数据长度
						        "data": res.rows //解析数据列表
						      };    
					        }  

相关文章: