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

开发避坑指南(42):Vue3 element ui el-table单选实现方案

需求

Vue3+element ui el-table如何实现表格行单选功能?

原代码

<el-table ref="mutiTable" v-loading="loading" :data="orderList" ><el-table-column type="selection" width="55" align="center" /><el-table-column label="序号" align="center" width="80"><template #default="scope">{{ scope.$index + 1 + (queryParams.pageNum - 1) * queryParams.pageSize }}</template></el-table-column>    
</el-table>  

官方提供了单选的功能,但是没有单选框或者只能单选的复选框,单选不够明显。

解决方法

(1)el-table 增加highlight-current-row 属性,绑定@row-dblclick 事件,绑定@current-change事件

(2)删除type="selection"的el-table-column,增加el-radio的el-table-column

(3)定义currentRow变量、handleMutiTableRowClick()函数、handleCurrentChange()函数

页面代码如下:

<el-table ref="mutiTable" v-loading="loading" :data="orderList" highlight-current-row @row-dblclick="handleMutiTableRowClick"@current-change="handleCurrentChange"><el-table-column width="35"><template v-slot="scope"><el-radioclass="radio":label="scope.row"v-model="currentRow"             >{{""}}</el-radio></template></el-table-column><el-table-column label="序号" align="center" width="80"><template #default="scope">{{ scope.$index + 1 + (queryParams.pageNum - 1) * queryParams.pageSize }}</template></el-table-column>    
</el-table>   

变量定义:

const currentRow = ref();

函数:

function handleCurrentChange(row) {currentRow.value = row;//可添加其他行事件,如禁用启用操作按钮
}
function handleMutiTableRowClick(row, column, event) {        if (currentRow && row.value.orderNo == currentRow.value.orderNo) { setCurrent();currentRow.value= null;       } else {currentRow.value = row;}
}
function setCurrent(row) {proxy.$refs["mutiTable"].setCurrentRow(row);
}
http://www.dtcms.com/a/355286.html

相关文章:

  • HTML静态页面实现材积计算器和材积表生成器
  • 动手学深度学习(pytorch版):第七章节—现代卷积神经网络(5)批量规范化
  • 吴炳锡:AI 时代下的湖仓一体化平台建设的思考
  • 从枯燥C++到趣味音乐:我的Windows系统底层探索之旅
  • 公共字段自动填充
  • Foundry工具大全
  • uniapp vue3 canvas实现手写签名
  • 【Node.js从 0 到 1:入门实战与项目驱动】2.4 开发工具推荐(VS Code 、IDEA及插件、终端工具、调试工具)
  • Cesium入门教程(二)环境搭建(HTML版)
  • QT:【第一个QT程序】【信号和槽】
  • 使用uni-app和Canvas生成简易双列表格布局并长按下载到本地
  • 混淆 打包 编译
  • Ovis2.5技术解密:原生分辨率与“反思模式”如何铸就新一代MLLM王者
  • 2024年山东省信息学小学组(CSP-X)第一轮题解
  • 冒泡排序算法详解(python code)
  • Python训练营打卡 DAY 50 预训练模型+CBAM模块
  • Shell 编程基础与实践要点梳理
  • PCIe 5.0 SSD连续读写缓存用完速度会骤降吗?
  • IntelliJ IDEA 反编译JAR包记录
  • Beats与Elasticsearch高效数据采集指南
  • Komo Searc-AI驱动的搜索引擎
  • 控制系统仿真之PID校正1-系统固有属性(四)
  • 【ai编辑器】使用cursor-vip获得cursor的pro版 pro plan(mac)
  • 【C语言16天强化训练】从基础入门到进阶:Day 13
  • 模拟实现Linux中的进度条
  • 带动态条件的模糊查询SQL
  • 【Linux基础知识系列:第一百一十四篇】使用lsof查看打开的文件
  • frp 一个高性能的反向代理服务
  • VMware + Ubuntu 桥接模式不能联网 的常见原因、排查思路和解决步骤
  • element-plus的el-scrollbar显示横向滚动条