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

Vue3 使用Element Plus表格单选带checkbox

官方地址:添加链接描述

官方给出的多选带checkbox,单选直接选中当前行高亮,有时候不想要单行高亮,想要带checkbox的单选,需要对多选进行改造
官方给的多选例子:

<template><el-tableref="multipleTableRef":data="tableData"style="width: 100%"@selection-change="handleSelectionChange"><el-table-column type="selection" width="55" /><el-table-column label="Date" width="120"><template #default="scope">{{ scope.row.date }}</template></el-table-column><el-table-column property="name" label="Name" width="120" /><el-table-column property="address" label="Address" show-overflow-tooltip /></el-table><!-- <div style="margin-top: 20px"><el-button @click="toggleSelection([tableData[1], tableData[2]])">Toggle selection status of second and third rows</el-button><el-button @click="toggleSelection()">Clear selection</el-button></div> -->
</template><script lang="ts" setup>
import { ref } from 'vue'
import { ElTable } from 'element-plus'interface User {date: stringname: stringaddress: string
}const multipleTableRef = ref<InstanceType<typeof ElTable>>()
const multipleSelection = ref<User[]>([])
const toggleSelection = (rows?: User[]) => {if (rows) {rows.forEach((row) => {// TODO: improvement typing when refactor table// eslint-disable-next-line @typescript-eslint/ban-ts-comment// @ts-expect-errormultipleTableRef.value!.toggleRowSelection(row, undefined)})} else {multipleTableRef.value!.clearSelection()}
}
const `handleSelectionChange` = (val: User[]) => {multipleSelection.value = val
}const tableData: User[] = [{date: '2016-05-03',name: 'Tom',address: 'No. 189, Grove St, Los Angeles',},{date: '2016-05-02',name: 'Tom',address: 'No. 189, Grove St, Los Angeles',},{date: '2016-05-04',name: 'Tom',address: 'No. 189, Grove St, Los Angeles',},{date: '2016-05-01',name: 'Tom',address: 'No. 189, Grove St, Los Angeles',},{date: '2016-05-08',name: 'Tom',address: 'No. 189, Grove St, Los Angeles',},{date: '2016-05-06',name: 'Tom',address: 'No. 189, Grove St, Los Angeles',},{date: '2016-05-07',name: 'Tom',address: 'No. 189, Grove St, Los Angeles',},
]
</script>

只需要在事件handleSelectionChange中添加两行代码

const handleSelectionChange = (val: User[]) => {multipleSelection.value = valif(val.length > 1){multipleTableRef.value.clearSelection()multipleTableRef.value.toggleRowSelection(val.pop())}
}
http://www.lryc.cn/news/227906.html

相关文章:

  • IOC - 自定义IOC容器
  • 力扣第647题 回文子串 c++ 动态规划 双指针 附Java代码 注释解释版
  • 【Go入门】struct类型
  • 怎么改变容易紧张的性格?
  • 合作共赢 共克时艰
  • VCSA7许可证过期问题
  • 解决win11更新后,文件夹打不开的bug
  • 修复了数个Bug!
  • 设计模式之--原型模式(深浅拷贝)
  • Linux服务器从零开始训练 RT-DETR 改进项目 (Ultralytics) 教程,改进RTDETR算法(包括使用训练、验证、推理教程)
  • 矩阵理论--矩阵分解
  • go语言相关bug
  • Spring Cloud OpenFeign:基于Ribbon和Hystrix的声明式服务调用
  • 租用服务器带宽类型应用
  • SOLIDWORKS实用技巧之焊件轮廓应用
  • 本地浏览器全局翻译 demo 以火狐firefox为例【免费-简单】
  • 使用多线程处理List数据
  • Elasticsearch--Python使用、Django/Flask集成
  • pyspark将数据多次插入表的时候报错
  • Qt绘制饼状图
  • Vue3 setup函数
  • Django(三、数据的增删改查、Django生命周期流程图)
  • Linux 部署Sentinel控制台
  • 服务器如何下载百度网盘数据
  • POJ 3254 Corn Fields 状态压缩DP(铺砖问题)
  • transformers安装避坑
  • 牛客、赛码网OJ调试(全)
  • 【CSS】全局声明引入自定义字体
  • 「Flask」路由+视图函数
  • 信息系统项目管理师 教材目录、考试大纲、考情