点击table标签的空白处,取消table选中行的背景色.

1.只是取消背景色,而不是取消行勾选,
2.另外如果行里按钮等组件,不能影响这些按钮原有功能
3.且不影响其他功能
在这里插入图片描述
在这里插入图片描述

思路1:
给table添加一个行点击事件.点击时会把行号存在一个全局变量里
在这里插入图片描述
在这里插入图片描述
2.在mounted方法里给用原生js通过class:hy-table__body-wrapper 获取表格的元素,并绑定点击事件:
当点击的是表格的数据行时,不触发 让背景色消失的事件,如果点中的是表格的非数据行的空白部分,则 触发 让行背景色消失的事件.
(判断依据是点中行和空白时的e.target._prevClass值会不一样.)

mounted() {
    this.getSelectRwmc();
    this.getSelectYwlx();
    let param = new URLSearchParams(window.location.search);
    this.taskName = param.get('taskId');
    this.businessType = param.get('businessType');
    var taskName = param.get('taskId');
    if(taskName != null && taskName != ''&&taskName != undefined&&taskName != 'null'){
      this.firstQuery =false;
    }
    setTimeout(()=>{
      this.queryData();
    },200)
    var dom
    //开始给表格绑定事件
    var that = this;
    setTimeout(function (){
      that.$nextTick(()=>{
        // hy-table__body-wrapper
        dom = document.getElementsByClassName("hy-table__body-wrapper");
        while(dom==undefined||dom==null||dom.length==0){
          sleep(500);
          dom = document.getElementsByClassName("hy-table__body-wrapper");
        }
      
        console.log(dom);
        dom[0].onclick = (e)=>{
          if (e.target._prevClass == "hy-table__body-wrapper") {
            that.clearBackgroudColor();
          }else{

          }
        }
        console.log(dom);

      })
    },1000)

  },

在这里插入图片描述
在这里插入图片描述

至于清除背景色的方法:(也是用到了原生js获取选取,然后直接更改其classname属性)
(一开始是打算用行号去取,但有时会取失败,这时就用document.querySelectorAll(‘#myTable .el-table-tr.current-row,.hy-table-tr.current-row’) 获取选中行,因为.current-row这个class是选中行独有的)

 clearBackgroudColor(){
      var rowIndex = this.globalRowIndex;
      if (rowIndex != -1) {

        console.log(rowIndex);
        let doms=document.querySelectorAll('#myTable .el-table-tr.current-row,.hy-table-tr.current-row')
        // let doms2=document.querySelectorAll('.el-table__fixed-right .el-table-tr')

        console.log(doms);
        doms[0].className='normal hy-table-tr'
        // doms2[rowIndex].className='normal el-table-tr'





      }
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值