el-table鼠标滑过某行,当前行样式(图标)变化

需求:鼠标滑过某行,当前行的图标变化

效果:
在这里插入图片描述
鼠标滑过某行后
在这里插入图片描述

P.s.:深拷贝这块内容有待完善

<el-table ref="table" class="table" :data="tableData" border :height="tableHeight"
      :header-cell-style="{'text-align':'center'}" :cell-style="{'text-align':'center'}" stripe @cell-mouse-enter="cellMouseEnter" @cell-mouse-leave="cellMouseLeave">
      <el-table-column prop="NO" type="index" label="序号" width="50">
        <template slot-scope="scope">
          <span>{{(page.currentPage - 1) * page.pageSize + scope.$index + 1}}</span>
        </template>
      </el-table-column>
      <el-table-column prop="name" label="名称">
        <template slot-scope="scope">
          <u @click="modify(scope.row)" style="cursor:pointer">{{scope.row.name}}</u>
        </template>
      </el-table-column>
      <el-table-column prop="1" label="1"></el-table-column>
      <el-table-column prop="2" label="2"></el-table-column>
      <el-table-column prop="3" label="3"></el-table-column>
      <el-table-column label="操作">
        <template slot-scope="scope">
          <img :src="delSelectedImg" title="删除" class="delBtn" @click="delete(scope.row)" v-if="scope.row.hoverFlag"/>
          <img :src="delImg" title="删除" class="delBtn" v-else/>
        </template>
      </el-table-column>
    </el-table>
cellMouseEnter(row){
	// console.log(row, event)
	// 注意必须是使用两次深拷贝,因为 hoverFlag 属性不是tableData原有的,直接修改无效,所以两次深拷贝重新赋值
	let Arr = JSON.parse(JSON.stringify(this.tableData))
	for (let index = 0; index < Arr.length; index++) {
	  const element = Arr[index]
	  console.log('element', element)
	  // 匹配滑过的当前行
	  if (element.id === row.id) {
	    element['hoverFlag'] = true
	  } else {
	    element['hoverFlag'] = false
	  }
	}
	this.tableData = JSON.parse(JSON.stringify(Arr))
	},
// 鼠标移出取消hover效果
cellMouseLeave(){
	for (let index = 0; index < this.tableData.length; index++) {
		 const element = this.tableData[index]
		 element['hoverFlag'] = false
	}
}

参考文章:el-table点击某行高亮;el-table设置hover效果;监听el-table点击某行变色;去除el-table的hover效果;监听el-table的hover事件

如果大家想一起交流学习,共同进步,欢迎搜索公众号“是日前端”,输入关键词如:前端基础,获取资料,资料刚开始整理,目前还在完善中,点击交流群按钮进交流群,群里仅限技术交流、面试交流等,需要其它相关资料可以群里说,后续交流群人数增多会考虑特色内容,再次感谢大家的支持~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值