vue2在element UI的table中给指定列添加圆点标志,鼠标悬浮出提示信息

2023-11-12

项目场景:

要求在列表数据给指定数据添加一些标志,鼠标悬浮提示指定数据.左侧为标志截图.右侧为悬浮提示截图.


HTML布局:

在template中想要添加标志的那一列添加圆点和悬浮提示信息两个节点,并添加单元格进入 退出事件两个事件.

  <!-- 悬浮提示信息 -->
    <div id="hoverTip" class="hover-style-left"></div>
    <el-table
      border
      :data="tableData"
      style="width: 30%"
      @cell-mouse-enter="enter"
      @cell-mouse-leave="leave"
    >
      <el-table-column label="序号" prop="id" width="60" align="center">
        <template slot-scope="scope">
          <!-- 圆点 -->
          <span
            :id="'circle'+scope.row.id"
            v-if="scope.row.id%2==0"
            class="circle"
            style="background: #faab00;"
          ></span>
          <span>{{ scope.$index + 1 }}</span>
        </template>
      </el-table-column>
      <el-table-column prop="name" label="姓名" width="100"></el-table-column>
      <el-table-column prop="address" label="地址"></el-table-column>
      <el-table-column prop="date" label="日期" width="100"></el-table-column>
    </el-table>

布局样式:

具体使用时样式细微处自行调节

.circle {
  position: absolute;
  top: 17px;
  left: 4px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin-right: 5px;
}
.hover-style-left {
  height: 40px;
  min-width: 200px;
  padding: 10px;
  display: none;
  color: #faab00;
  text-align: center;
  line-height: 40px;
  font-size: 14px;
  border: 1px solid #ffdd81;
  background: #fff8f0;
  position: absolute;
  z-index: 10;
  box-shadow: 0px 2px 4px 0px rgba(226, 199, 46, 0.18);
  border-radius: 4px;
}

.hover-style-left:after,
.hover-style-left:before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  font-size: 0;
  line-height: 0;
  border-width: 10px;
  top: 19px;
  left: -21px;
  border-style: solid dashed dashed solid;
  border-color: transparent #ffdd81 transparent transparent;
}

.hover-style-left:after {
  left: -20px;
  border-color: transparent #fff8f0 transparent transparent;
}

单元格事件:

给单元格移入事件设置悬浮相对位置.注意:展示方法提示节点固定展示在该单元格中间位置

如需展示在鼠标位置可以利用cell-mouse-enter方法的第四个event参数获取鼠标位置实现.

enter (row, column) {
      if (column.property == 'id') {
        let id = row.id;
        let x = document.getElementById('circle' + id).getBoundingClientRect().x
        let y = document.getElementById('circle' + id).getBoundingClientRect().y
        document.getElementById('hoverTip').removeAttribute('class', 'hover-style-left')
        document.getElementById('hoverTip').style.left = x + 50 + 'px'
        document.getElementById('hoverTip').style.top = y - 25 + 'px'
        document.getElementById('hoverTip').innerHTML = '悬浮提示信息'
        document.getElementById('hoverTip').setAttribute('class', 'hover-style-left')
        document.getElementById('hoverTip').style.display = 'block'
      }
    },
    leave () {
      document.getElementById('hoverTip').style.display = 'none'
    }

该标志会根据数据自行判断是否出现,具体逻辑需要根据需求自行修改.以上仅为举例说明,我使用的数据为

 tableData: [{

        id: 1,

        date: '2016-05-02',

        name: '王小虎',

        address: '上海市普陀区金沙江路 1518 弄'

      }, {

        id: 2,

        date: '2016-05-04',

        name: '王小虎',

        address: '上海市普陀区金沙江路 1517 弄'

      }, {

        id: 3,

        date: '2016-05-01',

        name: '王小虎',

        address: '上海市普陀区金沙江路 1519 弄'

      }, {

        id: 4,

        date: '2016-05-03',

        name: '王小虎',

        address: '上海市普陀区金沙江路 1516 弄'

      }]

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

vue2在element UI的table中给指定列添加圆点标志,鼠标悬浮出提示信息 的相关文章

随机推荐

  • java token生成规则_token的生成原理 使用方法!

    什么是token Token是服务端生成的一串字符串 以作客户端进行请求的一个令牌 当第一次登录后 服务器生成一个Token便将此Token返回给客户端 以后客户端只需带上这个Token前来请求数据即可 无需再次带上用户名和密码 基于 To
  • [解决办法]已经安装了数字证书,但是谷歌浏览器登录https协议的web系统时仍然提示证书不受信任...

    已经安装了数字证书 但是谷歌浏览器登录https协议的web系统时仍然提示证书不受信任 如下图 解决办法 1 单击Chrome浏览器右侧设置菜单 选择 设置 2 拖至页面下方 单击 显示高级设置 3 单击高级设置中的 HTTPS SSL 处
  • IDEA 热部署项目

    使用Idea 开发SpringBoot项目 修改完代码以后 要重新启动 Application 才可以看到效果 这样做开发效率肯定是大受影响的 可以通过热部署 热更新来实时加载更改 提高效率 1 引入热部署插件
  • 电脑蓝屏终止代码irql_一分钟教你看懂蓝屏代码,轻松解决电脑蓝屏问题

    电脑突然蓝屏的情况 想必很多朋友都遇到过吧 不知道你们是怎么解决的呢 重装系统 还是找专业人员维修呢 其实只要够看懂蓝屏代码 就能 对症下药 有些问题自己就能解决 今天小源就分享一些常见的蓝屏代码给大家 下面我们一起来看看吧 一 0X000
  • Python中的字典索引

    Python中的符合数据类型 字符串 列表和序列 它们用整数作为索引 如果你试图用其他的类型做索引 就会产生错误 gt gt gt list 1 2 3 gt gt gt list 0 1 gt gt gt list one Traceba
  • 【Linux】序列化和反序列化

    文章目录 定义 利用 Json 实现序列化反序列化 Json 的认识 Jsoncpp 库的下载与认识 实现序列化 实现反序列化 在网络编程中 直接使用 结构体 进行数据传输会出错 因为本质上socket无法传输结构体 我们只有将结构体装换为
  • 接口测试用例怎么写?一文1600字教你写一个优秀的接口测试的测试用例

    一 用例设计1 1 接口测试概念 接口测试 测试系统间接口的一种测试 测试的对象主要是接口 主要是测试外部系统与所测系统之间以及内部系统之间的交互点 2 接口测试方法 a 可以通过开发脚本代码进行测试 b 可以通过开源免费的接口调用调试工具
  • 虚拟文件系统 (VFS)-基于linux3.10

    引言 虚拟文件系统 VFS VirtualFileSystem 介于具体的文件系统和C库之间 其用提供一个统一的方法来操作文件 目录以及其它对象 其能够很好的抽象具体的文件系统 在linux上具体的文件系统主要分为三类 l 基于非易失性的存
  • 【CV with Pytorch】第 4 章 :构建图像分割模型

    我们周围的图像有不同的纹理 图案 形状和大小 它们携带着大量的信息 这些信息很容易被人眼和大脑理解 但计算机却不太容易理解 图像分割是一个问题集 我们试图训练计算机理解图像 以便它们可以分离不同的对象并将相似的对象分组 这可以是类似像素强度
  • 在远程服务器上执行本地的shell脚本

    1 使用ssh实现 ssh user hostname C bin bash lt test sh 2 使用expect实现 采用的策略就是先在本地通过expect把shell脚本推送到远程服务器上 之后再用expect模拟登录之后 先给远
  • Join中on条件是null的问题讨论

    MySQL dbs gt select from test1 id stu id stu age 1 1 25 2 1 NULL 2 rows in set 0 00 sec MySQL dbs gt select from test2 i
  • 【Vue + Koa 前后端分离项目实战9】使用开源框架==>快速搭建后台管理系统 -- part9 项目总结

    去读书 去学一门手艺 去做任何自己喜欢的事 永远不会晚 才不会辜负这份人生 本博客教学视频来源于imoom 0到1快速构建自己的后台管理系统 课程 官方演示地址 https talelin com 目录 一 项目介绍 1 技术准备 2 学到
  • doris tips

    1 schema表格式字段长度 如果是数字 字母这种的长度等于hive sql里面 length variable 的长度 如果是中文要占3 4个Char 2 表增加分区 可以通过脚本自己构造多个sql 语句 类似 ALTER TABLE
  • 【C语言】rand()函数(如何生成指定范围随机数)

    一 rand 函数简介 我们先来看一下cplusplus com The C Resources Network网站上rand函数的基本信息 系统生成随机数时需要使用rand函数 rand 会返回一个范围在0到RAND MAX 32767
  • groovy语言单元测试(spock)

    一 spock groovy单元测试的五种情况 单元测试 given mock单测中指定mock数据 模拟入参 when 触发行为 比如调用指定方法或函数 then 做出断言表达式 expect 期望的行为 when then的精简版 si
  • Linux的IO端口和IO内存

    Linux的IO端口和IO内存 分类 linux编程 2011 01 14 13 22 866人阅读 评论 1 收藏 举报 io linux linux内核 struct 平台 x86 CPU对外设端口物理地址的编址方式有两种 一种是IO映
  • 外界访问ubuntu端口bug解决

    跟着视频教程在ubuntu上部署了nacos 但是主机无法访问8848端口 虚拟机可以 检查防火墙以及8848端口 防火墙已关闭 端口也是开放的 virtual machine practice nacos logs sudo ufw st
  • iframe和form表单实现ajax请求上传数据

    form的target属性设置为iframe的name值时 表示提交到url后返回的数据显示到iframe区域
  • DeepSORT(工作流程)

    关于多目标跟踪 DeepSORT是针对多目标跟踪的跟踪算法 有人可能会想 将传统的单目标跟踪算法直接用于多目标跟踪 一起对每一个目标进行单目标跟踪不可以吗 理论上似乎可行 但是实际应用中会发现 单纯的套用单目标跟踪算法用于多个目标进行跟踪的
  • vue2在element UI的table中给指定列添加圆点标志,鼠标悬浮出提示信息

    项目场景 要求在列表数据给指定数据添加一些标志 鼠标悬浮提示指定数据 左侧为标志截图 右侧为悬浮提示截图 HTML布局 在template中想要添加标志的那一列添加圆点和悬浮提示信息两个节点 并添加单元格进入 退出事件两个事件 div cl