需求:符合某一条件的数据,table渲染的时候checkbox默认是选中状态(Java后台)
1. 使用 LAY_CHECKED 属性:LAY_CHECKED 为 true 则默认选中,false 则默认不选中,添加到表头对所有数据起效。实现以上需求,则需要在每行数据中添加该属性,根据条件判断 LAY_CHECKED 的值为 true 或 false;
2. 问题:在实体类中添加变量 LAY_CHECKED,使用set方法存值会使得LAY_CHECKED字段名在编译时下划线前的字段变为小写,lay_CHECKED,从而导致无法选中;
3. 解决办法:将要传的值使用map封装起来;
public JsonResult findPeople(Integer comId) { List<People> peopleList = pMapper.selectRoleListByName(comId); ArrayList<Map<String,Object>> p = new ArrayList<>(); for (People ro : peopleList) { Boolean LAY_CHECKED=false; if(ro.getName().equals("管理员")){ LAY_CHECKED=true; } Map<String, Object> map = new HashMap<String, Object>(); map.put("roleId", ro.getRoleId()); map.put("name", ro.getName()); map.put("LAY_CHECKED", LAY_CHECKED); p.add(map); } return JsonResult.success("",p); }