Vue+ELement UI el-table移入或选中某行时改变颜色

warning: 这篇文章距离上次修改已过187天,其中的内容可能已经有所变动。

在Vue中使用Element UI的el-table组件时,可以通过row-class-name属性来设置表格行的类名,然后通过CSS来改变鼠标移入或选中行的颜色。

以下是一个简单的示例:

  1. 在Vue组件中定义CSS类:



/* 定义鼠标移入行时的背景色 */
.el-table .hover-row {
  background-color: #f5f7fa;
}
 
/* 定义选中行的背景色 */
.el-table .select-row {
  background-color: #f0f9eb;
}
  1. el-table组件上使用row-class-name属性:



<template>
  <el-table
    :data="tableData"
    row-class-name="tableRowClassName"
    @row-mouse-enter="handleMouseEnter"
    @row-mouse-leave="handleMouseLeave"
    @selection-change="handleSelectionChange"
  >
    <!-- 你的表格列 -->
  </el-table>
</template>
 
<script>
export default {
  data() {
    return {
      tableData: [
        // ...你的数据
      ],
      hoverRow: null, // 鼠标移入的行
      selectRows: new Set(), // 选中的行集合
    };
  },
  methods: {
    tableRowClassName({ row, rowIndex }) {
      let className = '';
      if (this.hoverRow === row) {
        className = 'hover-row';
      }
      if (this.selectRows.has(row)) {
        className = className ? `${className} select-row` : 'select-row';
      }
      return className;
    },
    handleMouseEnter(row) {
      this.hoverRow = row;
    },
    handleMouseLeave() {
      this.hoverRow = null;
    },
    handleSelectionChange(selection) {
      // 更新选中行集合
      this.selectRows = new Set(selection);
    },
  },
};
</script>

在这个示例中,tableRowClassName方法根据当前行和鼠标的状态来返回相应的类名。鼠标移入行时,会设置hoverRow为当前行,并应用hover-row类;选中行时,会把行对象加入selectRows集合,并在tableRowClassName方法中检查行对象是否在集合中来决定是否应用select-row类。CSS中定义的颜色会应用到相应的行上。

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日