vue使用Element UI时,el-table表格整行操作单选禁选并隐藏全选框

2023-11-11

需求场景:

需求:表格复选修改为单选,只可选择一个;不满足条件的不可勾选;可进行整行操作


vue中的el-table布局:

注意使用的方法.

<el-table
 ref="tableRef"
 :key="tableKey"
 :data="tableData"
 class="singleTable"
 @select="handleSelectionChange"
 @row-click="handleSelectionChange('',$event)">
   <el-table-column
    type="selection"
    width="45"
    align="center"
    :selectable="checkboxSelect"/>
   <el-table-column label="序号" width="60" show-overflow-tooltip align="center">
      <template slot-scope="scope">{{ scope.$index + (page.pageNum - 1) *page.pageSize + 1 }}</template>
      </el-table-column>
   <el-table-column prop="RANINSTASKNAME" label="名称" show-overflow-tooltip/>
   <el-table-column prop="ADDRESS" label="地址" show-overflow-tooltip/>
</el-table>

单选样式

需求由复选改为单选后,左上角全选框要进行隐藏,复选框也变成单选框,这里是通过css样式进行调整的

// 隐藏表头全选复选框 
//(主要目的就是隐藏全选复选框,亲测具体项目细节不同可能实现方式不同,如果不生效需要调整下)
/deep/ .el-table thead {   // 第一种
  .el-checkbox__input {
    display: none !important;
  }
}

/deep/ .el-table__header-wrapper .el-checkbox { // 第二种
  display: none !important;
}


//表格复选改为单选
.singleTable {
  /* 修改复选框样式 变成单选框样式 */
  /deep/ .el-checkbox__inner {
    border: 1px solid #dcdfe6;
    border-radius: 100%;
    width: 14px;
    height: 14px;
    position: relative;
    cursor: pointer;
    display: inline-block;
    box-sizing: border-box;
    &::after {
      transform: translate(-50%, -50%) scale(1);
      width: 3px;
      height: 3px;
      border-radius: 100%;
      background-color: #fff;
      content: "";
      position: absolute;
      left: 50%;
      top: 50%;
      transition: transform 0.15s ease-in;
    }
  }
}

勾选数据触发方法:

勾选复选框的select和整行操作的row-click可以共用同一个方法,但是要注意传参.select事件默认传参是(selection, row),而row-click触发事件的第一个默认传参是( row ),所以row-click时间在共用方法时要特殊传参(@row-click="handleSelectionChange('',$event)")

 handleSelectionChange (selection, row) {
      if (row.noChoose) return  //不满足条件数据不可操作
      this.$refs.tableRef.clearSelection()
    // 这里因为需求做的是必选一个,如有其他需求可做调整
      this.$refs.tableRef.toggleRowSelection(row, true)    
      this.selections = row
    },

控制数据是否可勾选:

可以在selection中使用selectable参数的回调函数处理

checkboxSelect (row) {
      //不符合条件的不允许勾选
      return !row.isChoose
    }

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue使用Element UI时,el-table表格整行操作单选禁选并隐藏全选框 的相关文章

随机推荐

  • elasticserach(一)

    文章目录 1 elasticsearch简介 1 1 正向索引和倒排索引 1 2 文档 1 3 索引和映射 1 4 elasticsearch与mysql概念对比 2 部署单点es和kibana 2 1 创建网络 2 2 拉取镜像 2 3
  • 编译原理基础知识+笔记(1)

    一 编译原理概述 1 翻译程序 把某一种语言程序 称为源语言程序 等价地转换成另一种语言程序 称为目标语言程序 的程序 2 编译程序 把某一种高级语言程序等价地转换成另一种低级语言程序 如汇编语言或机器语言程序 的程序 又分为 诊断编译程序
  • 阿里4年测试经验分享 —— 测试外包干了3年后,我废了...

    去年国庆 我分享了一次一位阿里朋友的技术生涯 大家反响爆蓬 感觉十分有意思 今天我来分享一下我另一位朋友的真实经历 是不是很想听 没错 我这位朋友是曾经外包公司的测试开发 而且一干就是三年 三年后 他说他废了 虽说废的不是很彻底 但这三年他
  • 分分钟提高效率的18个神仙网站,你都用过几个?

    1 ipaddress ip查询工具 https www ipaddress com 不知道本机IP 一进入网址就可以查到 还能查询到ip的详情信息 追踪域名 端口信息 2 json 在线解析工具 https www json cn 开发时
  • 《C++ Primer》学习笔记(十三):拷贝控制

    C Primer 学习笔记 十三 拷贝控制 拷贝 赋值与销毁 拷贝构造函数 拷贝赋值运算符 析构函数 三 五法则 使用 default 阻止拷贝 拷贝控制和资源管理 行为像值的类 定义行为像指针的类 交换操作 对象移动 右值引用 移动构造函
  • 3月10日--3月16日(共17小时,剩4543小时)

    3月10日 共3小时 上午3小时DX11 下午单位有事 3月11日 共3小时 早上5 00起床 OSGEARTH视频教程第十讲 单位有事 3月12日 共5小时 3月13日3小时 3月14日 3小时 周末0小时 共17小时
  • 【问题】multiple definition of `_start'

    使用GCC编译器的时候 程序能够编译通过 但是结果却有问题 我查找了好多地方 还是不知道问题出在什么地方 后来才发现是因为一个变量未初始化造成的 感觉以前在使用VS的时候很少会在这种问题上耽误时间 于是想到很少用到的 Wall 参数 我对一
  • 最新Dubbo-admin+Zookeeper搭建遇到的一些问题

    Zookeeper搭建 下载zookeeper压缩包并解压 下载地址 http www apache org dyn closer cgi zookeeper 进入conf目录下将 zoo sample cfg 改名为 zoo cfg 进入
  • 免费AI计算资源

    推荐几个提供免费GPU计算资源的平台 助力你的AI之路 1 Kaggle Kernel 2 百度AI 3 Google Colaboratory 原文链接 https blog csdn net mrjkzhangma article de
  • Docker 安装与Tomcat部署

    Docker 安装与Tomcat部署 虚拟机 VMware Linux环境 CentOS 7 镜像 images 容器 contenor 一 VMware安装Linux镜像 1 Linux配置固定IP Linux虚拟机配置静态IP 二 Fi
  • CodeSmith 使用教程(17) Merge策略

    前面介绍了CodeSmith使用的基本用法 通过代码模板来生成代码 但如果你修改了自动生成的代码 再次使用代码模板生成代码后 你修改的代码也就丢失了 CodeSmith 支持多种 合并 Merge 来解决这个问题 以保留你自己修该过的部分
  • GeoServer 安装教程

    准备内容 安装环境 win10 64位专业版 安装文件 geoserver 2 15 2 安装步骤 安装JDK 1 安装GeoServer是基于Java的环境 所以需要先装Jdk环境 2 前往官网下载Java SE http www ora
  • 动态住宅代理VS静态住宅代理,怎么选择?

    现在 越来越多的海外代理服务商均支持动态住宅IP与静态住宅IP 很多小伙伴就疑惑 这二者有什么区别呢 哪个更好 其实 没有哪个更好 只有哪一个更合适您的业务 无论动态住宅IP还是静态住宅IP都来自真实的住宅IP地址 都可以提供IP隐匿作用
  • MySQL下载及使用navicat连接mysql数据库(含下载地址、超具体细节、推荐数据库教程)

    目录 下载地址 安装流程 第一步 开始安装 第二步 类型选择 第三步 developer default 第四步 execute 第五步 服务器配置窗口 第六步 网络类型配置窗口 第七步 第八步 服务器密码设置窗口 第九步 服务器名称窗口
  • 60 openEuler 22.03-LTS 搭建MySQL数据库服务器-安装、运行和卸载

    文章目录 60 openEuler 22 03 LTS 搭建MySQL数据库服务器 安装 运行和卸载 60 1 安装 60 2 运行 60 3 卸载 60 openEuler 22 03 LTS 搭建MySQL数据库服务器 安装 运行和卸载
  • 深入理解C++中的异常处理机制

    异常处理 增强错误恢复能力是提高代码健壮性的最有力的途径之一 C语言中采用的错误处理方法被认为是紧耦合的 函数的使用者必须在非常靠近函数调用的地方编 写错误处理代码 这样会使得其变得笨拙和难以使用 C 中引入了异常处理机制 这是C 的主要特
  • maven(12),排除冲突JAR包

    JAR包冲突
  • fedora网络配置

    wifi 博通网卡转自 http tieba baidu com p 5066385635 如果你的机子无线网卡正常 有wifi选项 那就不用安装了 如果你的机子没有wifi选项 请确认一下你的无线网卡是不是博通的 一般为BCMXXXX之类
  • 牛客网--程序员代码面试指南--矩阵的最小路径和

    题目描述 给定一个 n m 的矩阵 a 从左上角开始每次只能向右或者向下走 最后到达右下角的位置 路径上所有的数字累加起来就是路径和 输出所有的路径中最小的路径和 输入描述 第一行输入两个整数 n 和 m 表示矩阵的大小 接下来 n 行每行
  • vue使用Element UI时,el-table表格整行操作单选禁选并隐藏全选框

    需求场景 需求 表格复选修改为单选 只可选择一个 不满足条件的不可勾选 可进行整行操作 vue中的el table布局 注意使用的方法