js table表格中中复选框多选反选(已选中的排最前面)
我们在做table表格中一般都会遇到给table表格加上复选框的,复选框反选是很容易解决的
对于复选框的操作,举例来说我们我们在角色管理页面需要可以配置用户,如果你只实现
了反选,但是只让数据按照查出来的顺序排列,我们想看看都有谁有这个角色都很难找,
所以这个时候需要我们把有这个用户给提到最前面
先说思路,数据源为两个,分别为配置源和角色源,配置源中userId和角色源id关联
我们把数据源获取到后,先把角色源的id通过map函数取出来,然后遍历配置源,判断两
个的id和userId是否相等,如果相等就先删除然后再把它给提到前面,可以先存临时存一
下数据再删除,然后使用unshift函数把临时存的数据给角色源
$.post('//?RoleId=' + _this.roleId, res => { res.data.forEach(e => { var userIdList = []; RoleManage.tableUserAllData.map(A => { userIdList.push(A.ID); }) var index = userIdList.indexOf(e.UserId); var LIST = RoleManage.tableUserAllData[index]; if (RoleManage.tableUserAllData[index].ID === e.UserId) { RoleManage.tableUserAllData.splice(index, 1); RoleManage.tableUserAllData.unshift(LIST); } }) RoleManage.tableUserData = JSON.parse(JSON.stringify(RoleManage.tableUserAllData)); res.data.forEach(e => { RoleManage.checkUserValue[e.UserId] = true; }); } );