elementUI表格内容根据高度来判断是否显示气泡,表格单元格显示原始格式(换行、空格)

自定义修改el-talbe show-overflow-tooltip的样式 自定义el-table show-overflow-tooltip样式 阅读详情

elementUI底层只做了根据根据表格中单元格的宽度来控制是否显示气泡,加一个show-overflow-tooltip属性,当内容超出就显示气泡。传统的,如果我们要自定义一个气泡,这时候可能不太好精确的判断什么时候就内容超出了设置的minWidth,就显示气泡。
现在有一个需求,可以实现表格行固定高度,当超出高度,就显示气泡;并且气泡、单元格要保留原始格式。(出现气泡的方法,也适用于自定义气泡,超出宽度,恰到好处的显示气泡。)
先看一下效果图:
在这里插入图片描述

实现的代码:
结构部分:

<div style="margin:20px 0;">根据高度显示气泡,表格单元格显示原始格式</div>
    <el-table
      class="testHeightTip"
      :data="tableData"
      @cell-mouse-enter="handleCellMouseEnter"
      style="width: 100%" border>
      <el-table-column
        type="selection"
        width="55">
      </el-table-column>
      <el-table-column label="序号"
                       align="center"
                       fixed="left"
                       width="64">
        <template slot-scope="scope">
          <span>{{scope.$index  }}</span>
        </template>
      </el-table-column>
      <el-table-column
        label="商品 ID"
        prop="id">
      </el-table-column>
      <el-table-column
        label="商品名称"
        align="left"
        prop="name">
        <template slot-scope="scope">
          <el-tooltip v-if="scope.column.show===true"  popper-class="preTooltip"
                      effect="dark"
                      placement="top">
            <span slot="content" v-html="scope.row.name"></span>
            <span v-html="scope.row.name"></span>
          </el-tooltip>
          <span v-else v-html="scope.row.name"></span>
        </template>
      </el-table-column>
      <el-table-column
        label="描述"
        prop="desc">
      </ai-table-column>
    </el-table>

@cell-mouse-enter="handleCellMouseEnter" 增加了一个方法。
下面我们就看一下这个方法里面的代码

handleCellMouseEnter(row, column, cell, event) {
  const cellChild = event.target.querySelector('.cell'); // 获取cell元素
  const range = document.createRange() // 创建一个范围
  // 设置范围的区间
  range.setStart(cellChild, 0); 
  range.setEnd(cellChild, cellChild.childNodes.length);
  // 获取内容真实高度
  const rangeHeight = range.getBoundingClientRect().height;
  if(rangeHeight>cellChild.offsetHeight){
    column.show = true // 设置一个新的属性show进column,用于判断是否显示气泡,true为显示气泡,false为不显示气泡
    column.index=true
  }else{
    column.show = false
    column.index=false
  }
},

在插槽中利用v-if=“scope.column.show===true” 进行设置为显示气泡时候展示的结构,v-else为不展示气泡时候的结构

当我们在输入框中,输入了空格,或者按下enter进行换行,如果你们的需求也是这么变态,要求显示原始格式的话,可以用<span v-html="scope.row.name"></span>

在数据处理这里进行字符串替换:

 this.tableData.forEach((v,index)=>{
        v.name = v.name.replace(/↵/g, '<br>');
        v.name = v.name.replace(new RegExp(/( )/g),"&nbsp");
      })

最后贴一下data的假数据定义:

tableData: [
          {
          id: '12987122',
          name: '(1)整理科研项目进行质量内审需要的测试报告、word版的测试用例↵(2)2020-05-14上了一个版本,验证开发解决的bug↵↵3、2222222222222222222222222↵4、呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱古古怪怪↵5、ggggggg↵6、55555555555555555555555↵7、顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶↵8、顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶',
          category: '江浙小吃、小吃零食',
          desc: '荷兰优质淡奶,奶香浓而不腻',
          address: '上海市普陀区真北路',
          shop: '王小虎夫妻店',
          shopId: '10333'
        }, {
          id: '12987123',
          name: '(1)整理              科研项目进行质量内审需要的测试报告、word版的测试用例↵(2)2020-05-',
          category: '江浙小吃、小吃零食',
          desc: '荷兰优质淡奶,奶香浓而不腻',
          address: '上海市普陀区真北路',
          shop: '王小虎夫妻店',
          shopId: '10333'
        }, {
          id: '12987125',
          name: '(1)编写2020年5月12号左右进行质量内审的需要的测试类的文档(测试计划、测试用例)↵(2)验证bug,2020年5月9号需要上一个版本',
          category: '江浙小吃、小吃零食',
          desc: '荷兰优质淡奶,奶香浓而不腻',
          address: '上海市普陀区真北路',
          shop: '王小虎夫妻店',
          shopId: '10333'
        }, {
          id: '12987126',
          name: '(1)编写2020年5月12号左右进行质量内审的需要的测试类的文档(测试计划、测试用例)<br/>(2)验证bug,2020年5月9号需要上一个版本',
          category: '江浙小吃、小吃零食',
          desc: '荷兰优质淡奶,奶香浓而不腻',
          address: '上海市普陀区真北路',
          shop: '王小虎夫妻店',
          shopId: '10333'
        }],
Day2 十分钟带你解决逆向中对称加密算法 (RC4) 在密码学中,RC4(来自Rivest Cipher 4的缩写)是一种串流加密算法,密钥长度可变。他加密解密使用相同的密钥,因此也被称为“流加密算法”。RC4由伪随机数生成器和异或运算组成。RC4的密钥长度可变,范围是[1,255]。RC4一个字节一个字节地加解密。给定一个密钥,伪随机数生成器接受密钥并产生一个S盒。S盒用来加密数据,而且在加密过程中S盒会变化。由于异或运算的对合性,RC4加密解密使用同一套算法。 阅读详情

相关推荐

国产PHY芯片YT8512H替代LAN8742A的实战指南(STM32F407平台)

本文详细介绍了在STM32F407平台上,使用国产PHY芯片YT8512H替代LAN8742A的完整实战过程。文章深入剖析了硬件设计中的关键信号连接差异(如CRS_DV与RXDV复用)、时钟布线要点,并提供了软件驱动修改、PHY配置及调试排错的系统指南,旨在帮助工程师高效完成国产化替代,规避常见陷阱。

defi6farmer的博客 858

Element UI 表格 show-overflow-tooltip 设置宽度以及内容换行

前言 用vue+element ui框架,用到table表格,如果每列显示的内容过长则可以使用该属性,即:show-overflow-tooltip="true",该属性可以让内容在一行显示,如果显示不下时,显示...,并且鼠标划过时显示全部文字。通常会出现这样的效果: 一、设置show-overflow-tooltip宽度 样式代码如下: 注意:可以在全局添加这样全部生效,如果不想加在全局的话,可以单独加在页面当中,但是切记修改elementui自带样式的话,不能在<style sc..

ShIcily的博客 3万+

微带功分器设计与ADS-EM联合仿真实战解析

本文详细解析了微带功分器设计与ADS-EM联合仿真的实战技巧,涵盖特性阻抗计算、ADS原理图设计、版图生成与EM仿真等关键步骤。通过实际案例分享,帮助工程师掌握射频电路设计中的核心技术和调试方法,提升功分器设计效率与性能。

weixin_29280219的博客 451

解决show-overflow-tooltip跨行生效的问题

当内容出现特殊字符(空格换行)会占据几行的空间后再显示...

qq_45382625的博客 1439

OpenClaw记忆插件升级实战:从memory-lancedb-pro安装到AgentSkill封装

向量数据库作为现代AI应用的核心基础设施,通过将非结构化数据转换为高维向量并利用相似度检索实现语义理解。其原理基于嵌入模型生成向量表示,结合近似最近邻搜索算法实现高效查询。这项技术为智能体系统提供了长期记忆和上下文感知能力,显著提升了对话连贯性与任务执行效率。在AI智能体开发领域,向量数据库常用于知识库构建、对话历史管理和个性化推荐等场景。本文聚焦OpenClaw框架中memory-lancedb-pro插件的部署实践,针对**插件加载顺序**和**Apache Arrow依赖**两大常见痛点,通过封装成可

weixin_42525482的博客 638

RC滤波电路工作原理:【带图+公式计算】

容抗Xc和电容C成反比,和频率f也成反比,C越大,交流电容易通过电容,说明电容量大,电容的阻碍作用小;交流电的频率高,交流电也容易通过电容,说明频率高,电容的阻碍作用也小。我们可以看到,一个2V的纹波,经常RC电路后,幅值下降到mv级别,基本可以忽略不计,这就是RC滤波电路的工作原理。一个频率为1Khz的信号,通过一个容值为0.1uf的电容,计算电容对该信号产生的阻抗。将RC滤波器电路中的电阻,取值为1KΩ,电容取值为0.47uf,纹波幅值为2V。从公式1可以看到,Xc越大,Vout值就越接近Vin的值。

weixin_66299220的博客 2万+

表格 show-overflow-tooltip 设置宽度以及内容换行

用vue+element ui框架,用到table表格,如果每列显示的内容过长则可以使用该属性,即:show-overflow-tooltip="true"。 该属性可以让内容在一行显示,如果显示不下时,显示省略号...,当鼠标放在上面时,可显示全部文字。效果如下: 只需要在标签中添加:show-overflow-tooltip="true"即可。 举例: <el-table-column label="公司名称" prop="corpName" :show-overflow-too..

qq_37676636的博客 3145

Linux yum源配置以及yum命令讲解

前面为大家介绍了RPM二进制包安装软件,RPM包安装的最大的缺点也提到过,就是依赖性太强,一旦遇到依赖问题,则需要我们手动解决包之间具有依赖性的问题,今天为大家介绍一种可自动解决包之间依赖关系的安装方式:yum。 yum 全称“Yellow dog Updater, Modified”,是一个专门为了解决包的依赖关系而存在的软件包管理器。就好像 Windows 系统上我们通常可以通过各种软件管家实现软件的一键安装、升级和卸载,yum就是Linux 系统中的一键安装工具。yum 解决依赖关系的基本逻辑是:yu

九派Linux的博客 2283

show-overflow-tooltip 解决elementui el-table标签自动换行的问题

elementui中 el-table中某一行的高度不想因为宽度不够而撑开换行展示的解决方法。可通过show-overflow-tooltip属性解决,如下。

servepeople的博客 1663

RK3566-预装APP

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

qq_24093081的博客 702

Arcgis加载在线地图(内涵各种在线地图)

这三个在线地图是最常用的在线地图,其他几个类型的在线地图请自行查看。,加载出在线图层说明连接成功,点击。1、首先打开Arcgis,找到。

爱吃雪糕的小布丁的博客 1万+

elementUI表格气泡乱串、闪烁、位置偏移问题解决(自制气泡,计算位置,箭头永远指向当前元素)

elementUI表格中插入气泡,会出现bug"来回切换tab页气泡会乱串",导致这个问题的原因是,elementUI底层是通过js绘制的气泡,挂在到body中,通过display:none来控制显隐;当我们来回切换tab页的时候,时而出现display:block;的情况,这时候上一个界面的气泡就再新界面出现,导致气泡乱串了。 为了解决这个问题,尝试过好几种方式,目的就是让气泡隐藏成功或者销毁成功,但是发现这种思路只会让气泡乱串出现的频率降低,并不能从根本上解决问题,而且还会带来新的界面bug。下面先介绍

CuiCui_web的博客 1322

​ISP算法及架构分析介绍

ISP算法及架构分析介绍ISP即Image Signal Processor,是一种图像处理架构,不是我们用的下载器。ISP其实算是图像处理的一个特例,一般应用于前端设备(相对于SENSOR),从结果上看就是将RAW数据转换成压缩后的RGB(一般)数据,供后续CPU使用(识别、压缩等)。市面上很少有直接介绍ISP的书籍或者资料,今天我们主要是聊一聊ISP算法的架构,这样大...

OpenFPGA的博客 5405

【前端】项目中遇到的问题汇总(长期更新)

【长期更新】前端项目中常遇到的问题汇总(vue3+elementPlus+node.js+axios+webpack)

sinat_39394862的博客 1238

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

vue+element 根据状态,显示不同的操作按钮

效果截图: VUE 核心功能代码片段 <!--列表--> <el-table :data="hrs" highlight-current-row v-loading="listLoading" @selection-change="selsChange" style="width: 100%;"> <el-table-column type="selection" width="55"> </el-table-column> &

zhouzhiwengang的专栏 6845

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

vue element UI 单选框 v-if 判断显示和隐藏

weixin_52428855的博客 2152

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Element UI 表格 show-overflow-tooltip 内容换行

Element UI 表格 show-overflow-tooltip 内容换行 前 // {{}}会将数据解释为普通文本,而非 HTML 代码。,使用v-html指令转义 使用slot自定义el-tooltip内容 v-html指令转义 删除 show-overflow-tooltip属性,否则页面出现两个近乎重叠的tip 将表格过长的文字使用Css省略显示 <el-table-co...

m0_38021769的博客 1万+

element 表格气泡是如何实现的

element 表格气泡是如何实现的

weixin_41897680的博客 1640

使用popover实现:内容超出指定行打点...,且气泡框展示

虽然elementui 里 el-table 有一个属性可以很好的实现:给el-table-column 加 show-overflow-tooltip 属性,可以使列表里的内容超出隐藏并展示气泡框;2、判断字符长度:如果内容的长度大于设置的长度就气泡框展示,但这样会因英文或特殊符号与中文的宽度不等,导致判断不精准,出现不打点也会出现气泡框。1、直接使用tooltip:但这样就会出现,无论一行能不能展示全,都会出现气泡框,显然不符合需求。在开发中遇到一个这种需求:内容超出一行打点...,且气泡框展示。

qq_58340302的博客 2376

【Vue】使用elementPlus的table时,实现自定义tooltip效果,单行显示,超出则显示省略号,鼠标移入后,当文字数量大于20则换行自定义展示的tooltip

使用elementPlus的table时,实现自定义show-overflow-tooltip效果,文字在table中单行显示,超出宽度则显示省略号,鼠标移入后,当文字为30个字以内的时候单行显示tooltip,超出30个字则显示可以换行自定义展示的tooltip。

余浩的博客 6865

ElementUI中的table根据条件判断一列是否显示

因为ElementUI不支持v-show,直接在要隐藏的一列v-if=‘判断条件’就好

一个技术垃圾站 1万+

element踩坑小记一(el-row宽度溢出)

在使用珊格系统时,如果使用了有分隔的布局也就是将gutter设置为非零时,会使页面宽度溢出出现滚动条破坏了而且布局美观性

Float Dream 1万+

Vue使用ElementUI的表格进行日期格式化,变成自己想要的格式

Vue使用ElementUI的表格进行日期格式化

qq_39506434的博客 6797

VUE专题 elementUI中单行溢出时使用气泡展示所有内容

在elementUI的 table组件中 需要溢出气泡那一行的 <TableColumn>中 加入 show-overflow-tooltip="true" 调整气泡宽度 在当前 vue 页面的style部分加入 .el-tooltip__popper{ max-width: 35% !important; } width 即为气泡宽度。 放在<style></style>中 去掉style标签中的scope 则变为全局影响的样式,覆盖所有 ...

weixin_44131922的博客 993

Elment-UI中的show-overflow-tooltip 设置宽度以及内容换行

1. 情况说明:show-overflow-tooltip显示的文字占满一整行,现在需要做到换行显示,占一半宽度。 html代码: <el-table-column align="center" min-width="200" prop="remarks" label="备注" show-overflow-tooltip/> 效果: 2. 处理: <style lang="scss"> .el-tooltip__popper { max-width: 50%;

duang_summer的博客 2640

Vue进阶(九十三):show-overflow-tooltip实现表格列内容过长显示提示

在Vue项目中,使用ElementUI显示表格数据时,如果某一个列数值长度超过列宽,会默认换行,造成显示不友好。 翻阅Element-UI文档,可发现show-overflow-tooltip列属性可实现列内容过长被隐藏时显示tooltip的功能。 注:show-overflow-tooltip属性需要谨慎使用,如果一个页面多列使用,会影响页面加载速度。因为show-overflow-toolti...

IT全栈 华强工作室 2万+
上一篇: 横向堆叠条形图(末尾增加合计行,动态设置高度,数据动态渲染,自定义动态color)
下一篇: 解决elementUI中表格的行(cell)设置固定的高度后,垂直居中失效问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值