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>

效果如图所示:

相关推荐
看昭奚恤哭20 小时前
基于 RuoYi-Vue-Pro 定制了一个后台管理系统 magic-admin , 开源出来!
前端·vue.js·开源
妙码生花1 天前
从 PHP 到 AI + Golang,程序员自救转型手记(四十五):前端远程下拉输入组件
前端·javascript·vue.js
Listen·Rain2 天前
AGENTS.md — Vue 3 Frontend Development
前端·javascript·vue.js
南风知我意啊2 天前
Vue3图片缩放拖拽组件全攻略
前端·javascript·vue.js
万亿少女的梦1682 天前
基于Spring Boot、Vue.js与MySQL的流浪猫狗救助系统设计与实现
vue.js·spring boot·mysql·javaweb·权限管理
早睡早起身体好1232 天前
Vue 3 路由与懒加载入门:从零完成一个迷你学习中心
javascript·vue.js·学习
猫猫不是喵喵.2 天前
Vue 3 项目创建指南:基于 Vue CLI 与 Vite 的两种方式
前端·javascript·vue.js
2401_896732132 天前
用智能体构建企业框架,制作网站
前端·vue.js·智能体
无人生还2 天前
从 Vue3 到 React · 快速上手系列第 8 篇:组件通信与 Context(对标插槽与 provide/inject)
前端·vue.js·react.js
早睡早起身体好1232 天前
前端vue3快速入门第二日——通过TodoList学习vue
前端·javascript·vue.js