layui表格单页全选、取消

layui表格进行单页全选和单个选中以及取消,可以对选中数据和取消的数据进行操作:

 

 

 代码如下:

table.on('checkbox(resourceQueryTable)', function (obj) {//保存当前页选中数据
        let checked = obj.checked; //当前选择的状态,是否选中
        if (obj.type == 'all') { //全选
          if (checked) {
            dataArr.forEach(item => {//全部选中,直接向ids push当前选中的数据
              filterGids.forEach((item_,index)=>{
                if(item_==item.gid){
                  filterGids.splice(index, 1);
                }
              })
              ids.push(item)
            })
          } else {
            dataArr.forEach((item, index) => {//取消全选,循环判断是否相等,相等就删除
              filterGids.push(item.gid);//获取取消选中的数据
              ids.forEach((val, i) => {
                if (item.gid == val.gid) {
                  ids.splice(i, 1)
                }
              })
            })
          }
        } else { //单选
          if (checked) {
            ids.push(obj.data);//选中,直接向ids push当前选中的数据
            filterGids.forEach((item_,index)=>{
              if(item_==obj.data.gid){
                filterGids.splice(index, 1);
              }
            })
          } else {
            filterGids.push(obj.data.gid);
            ids.map((item, index) => {//取消选择,循环判断是否相等,相等就删除
              if (obj.data.gid == item.gid) {
                ids.splice(index, 1)
              }
            })
          }
        }
      });

  

 

posted @ 2021-05-14 11:52  奔跑的哈密瓜  阅读(1267)  评论(0编辑  收藏  举报