element table 表格多选框选中高亮

需求:

点击当前行不显示高亮,但是选中行要高亮,实现如下:

1、禁止点击当前行高亮。

设置highlight-current-row为false。

2、设置多选时,选中行高亮:

使用官网提供的highlight-selection-row为true,发现并不起作用,选中时并不显示高亮,所以尝试另一种方法实现,通过highlight-current-row、selection-change和row-style实现,具体实现如下:

html 复制代码
<el-table class="list-table" :data="tableData"
	@selection-change="handleSelectionChange"
	:row-style="rowClass"
	:highlight-current-row="highlightCurrentRow"
	:row-class-name="tableRowClassName">
	<el-table-column
		type="index"
		width="55"
		label='序号'
	></el-table-column>
	<el-table-column
		type="selection"
		width="60"
		:selectable="isSelectable"
	></el-table-column>
	<el-table-column
		prop="paxName"
		width="100"
		label="姓名"
	></el-table-column>
</el-table>
javascript 复制代码
<script>
export default {
	name: 'ceshi',
	data() {
		return {
			tableData: [
				{ paxName: '孟军'},
				{ paxName: '王红光'},
				{ paxName: '曹永友'},
				{ paxName: '肖珍平'},
				{ paxName: '白永忠'},
				{ paxName: '许一君'},
	        ],
			selectRow: [],
			highlightCurrentRow: false,
			selectedFlightRow: [], // 选中要操作的数据
		}
	},
	watch: {
		selectedFlightRow(data){
		 	this.selectRow = []
		 	if(data.length > 0){
		 		data.forEach((item,index)=>{
		 			this.selectRow.push(this.tableConfig.tableData.indexOf(item))
		 		})
		 	}
		 }
	},
	methods: {
		// 选中
		handleSelectionChange(val) {
			this.selectedFlightRow = val;
		},
		rowClass({row,rowIndex}){
			if(this.selectRow.includes(rowIndex)){
				return {"background": "#ecf5ff"}
			}
		},
	}
<script>

效果如图所示:

相关推荐
灰海1 小时前
vue中通过heatmap.js实现热力图(多个热力点)热区展示(带鼠标移入弹窗)
前端·javascript·vue.js·heatmap·heatmapjs
码上暴富3 小时前
vue2迁移到vite[保姆级教程]
前端·javascript·vue.js
老华带你飞3 小时前
考研论坛平台|考研论坛小程序系统|基于java和微信小程序的考研论坛平台小程序设计与实现(源码+数据库+文档)
java·vue.js·spring boot·考研·小程序·毕设·考研论坛平台小程序
YAY_tyy3 小时前
基于 Vue3 + VueOffice 的多格式文档预览组件实现(支持 PDF/Word/Excel/PPT)
前端·javascript·vue.js·pdf·word·excel
m0_748461396 小时前
Spring Boot + Vue 项目中使用 Redis 分布式锁案例
vue.js·spring boot·redis
珍珠奶茶爱好者7 小时前
vue二次封装ant-design-vue的table,识别columns中的自定义插槽
前端·javascript·vue.js
Slice_cy7 小时前
深入剖析 Vue 响应式系统:从零实现一个精简版
vue.js
羊羊小栈8 小时前
基于「YOLO目标检测 + 多模态AI分析」的PCB缺陷检测分析系统(vue+flask+数据集+模型训练)
vue.js·人工智能·yolo·目标检测·flask·毕业设计·大作业
晚星star8 小时前
在 Web 前端实现流式 TTS 播放
前端·vue.js
本末倒置1838 小时前
前端面试高频题:18个经典技术难点深度解析与解决方案
前端·vue.js·面试