当前位置: 首页 > article >正文

Vue ElemetUI table的行实现按住上下键高亮上下移动效果

1、添加初始化的方法

// 添加键盘事件监听器:
mounted() {
    window.addEventListener('keydown', this.handleKeydown);
  },
// 这段代码的作用是在 Vue 组件销毁之前移除一个键盘事件监听器
// 这样做可以确保当组件不再使用时,不会留下任何未清理的事件监听器,从而避免内存泄漏等问题。
beforeDestroy() {
    window.removeEventListener('keydown', this.handleKeydown);
  }

2、在el-table中添加 @current-change方法

// 如下
<el-table  @current-change="handleCurrentChange">

3、添加对应键盘操作方法

handleCurrentChange(val) {
  this.currentRow = val;
},
handleKeydown(event) {
  if (event.keyCode === 38) { // 按下上键
    this.highlightPrevRow();
  } else if (event.keyCode === 40) { // 按下下键
    this.highlightNextRow();
  }
},
highlightPrevRow() {
  const index = this.boxList.indexOf(this.currentRow) - 1;
  if (index >= 0) {
    this.$refs.tableRef.setCurrentRow(this.boxList[index]);
  }
},
highlightNextRow() {
  const index = this.boxList.indexOf(this.currentRow) + 1;
  if (index < this.boxList.length) {
    this.$refs.tableRef.setCurrentRow(this.boxList[index]);
  }
},

4、还可以为高亮设置自定义颜色

.el-table--striped .el-table__body tr.el-table__row--striped.current-row td,
.el-table__body tr.current-row>td {
  color: #fff;
  background-color: #adeda6 !important;
}


http://www.kler.cn/a/318883.html

相关文章:

  • 重卡穿越商都,ROG DAY 2024郑州站高燃来袭
  • 虚拟机安装Ubuntu 24.04服务器版(命令行版)
  • 同三维T610UDP-4K60 4K60 DP或HDMI或手机信号采集卡
  • 【网络工程】计算机硬件概述
  • Go开发指南-Gin与Web开发
  • RHCE的学习(16)(shell脚本编程)
  • Ansible部署openstack案例
  • MySQL表的增删改查
  • 如何修改音频的音量增益
  • 【算法】算法思想合集
  • Make breakpoint pending on future shared library load
  • mfc140u.dll引发的软件故障怎么破?mfc140u.dll文件损坏的解决办法全知道!
  • Linux 简易shell编写
  • C# winforms 使用菜单和右键菜单
  • 游戏开发2025年最新版——八股文面试题(unity,虚幻,cocos都适用)
  • 《数据压缩入门》笔记-Part 1
  • AlDente Pro for Mac电池健康保护工具
  • Centos下安装Maven(无坑版)
  • qt相关面试题
  • 实时美颜的技术突破:视频美颜SDK与直播美颜工具的开发详解
  • 【STM32】STM32G431RBT6芯片引脚默认功能是什么?
  • python学习第十二节:python开发图形界面
  • [翟旭发射器]python-推导式-列表list表达式练习
  • 计算机毕业设计之:基于微信小程序的共享充电桩系统的设计与实现
  • HTTP 教程
  • 架构面试题