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;
                                    });
                                   
                                }
                            );

 

posted @ 2021-04-20 14:11  看花人墨客  阅读(939)  评论(0编辑  收藏  举报