Tooltip 文字提示

news2024/9/20 16:23:23

在偶然维护前端开发时,遇到页面列表中某个字段内容太长,且该字段使用了组件显示,导致不能使用纯文本得那个省略号代替显示得css样式效果,如下

所以只能另辟溪路了,

1、最开始想到是使用横向滚动得效果来实现,但是实现后,感觉还是不太理想,因为用户注意不到你这里有滚动,除非显示出滚动条,但是影响页面整体样式效果。

效果如下:主要是调整css样式来实现得

前端代码:

<el-table-column
        label="示范区域"
        align="center"
        prop="creationTime"
        :show-overflow-tooltip="true"
        width="120"
      >
        <template slot-scope="scope">
          <div class="tag tag-scroll-wrapper" style="display: flex; justify-content: center; align-items: center;">
            <el-tag
              v-for="(item, index) in scope.row.projectAreas"
              :key="index"
              size="small"
              type="success"
              class="tagItem"
            >{{ item.fullAreaName }}</el-tag>
            <!-- <el-tooltip class="item" effect="dark" :content="getJoin(scope.row.projectAreas)" placement="top">
              <el-tag
              v-if="scope.row.projectAreas.length>0"
              size="small"
              type="success"
              class="tagItem">
                {{ scope.row.projectAreas[0].fullAreaName+"..." }} 
              </el-tag>   
            </el-tooltip>  -->
          </div>
        </template>
      </el-table-column>

对calss="tag-scroll-wrapper"得div增加如下css样式

.tag-scroll-wrapper {  
  display: flex;  
  flex-wrap: nowrap;  
  overflow-x: auto; /* 水平滚动 */  
  -ms-overflow-style: none; /* IE 和 Edge 滚动条样式 */  
  scrollbar-width: auto; /* Firefox 滚动条样式 */  
}  

2、最后想到借助Tooltip组件来实现之前纯文本根据css样式实现得那种省略号效果得思路,效果如下:

前端代码:

<el-table-column
        label="领域标签"
        align="center"
        prop="domainLabel"
        :show-overflow-tooltip="true"
        width="180"
      >
        <template slot-scope="scope">
          <div class="tag" style="display: flex; justify-content: center; align-items: center;">
            <!-- <el-tag
              v-for="(item, index) in scope.row.domainLabel"
              :key="index"
              size="small"
              class="tagItem"
            >{{ item }}</el-tag> -->
            <el-tooltip class="item" effect="dark" :content="getLabelJoin(scope.row.domainLabel)" placement="top">
              <el-tag v-if="scope.row.domainLabel.length>0" size="small" class="tagItem">
                {{ scope.row.domainLabel[0]+"..." }}
              </el-tag>
            </el-tooltip>
            <!-- <el-tooltip class="item" effect="dark" placement="top">
              <div slot="content" class="text_warp">
                {{getLabelJoin(scope.row.domainLabel)}}
              </div>
              <el-tag v-if="scope.row.domainLabel.length>0" size="small" class="tagItem">
                {{ scope.row.domainLabel[0]+"..." }}
              </el-tag>
            </el-tooltip> -->
          </div>
        </template>
      </el-table-column>

js代码,主要处理需要展示得提示框中得内容,map是循环数组,然后使用join()方法拼接成字符串

   getJoin(listData){
      if(listData.length>0){
        return listData.map(item=>item.fullAreaName).join('、');
      }
    },
    getLabelJoin(listData){
      console.log("123",listData);
      return listData.join('、');
      // if(listData.length>0){
      //   return listData.sort((a,b)=>{
      //     return a.length-b.length;
      //   }).join('、');
      // }
    },

其中上图中提示框中得效果也是修改过得,最开始不会换行,超过电脑屏幕也不会换行,影响展示效果,需关闭el-tooltip的content属性,添加插槽,插槽内容为Tooltip 文字提示组件,代码如下

<el-table-column
        label="领域标签"
        align="center"
        prop="domainLabel"
        :show-overflow-tooltip="true"
        width="180"
      >
        <template slot-scope="scope">
          <div class="tag" style="display: flex; justify-content: center; align-items: center;">
            <!-- <el-tag
              v-for="(item, index) in scope.row.domainLabel"
              :key="index"
              size="small"
              class="tagItem"
            >{{ item }}</el-tag> -->
            <!-- <el-tooltip class="item" effect="dark" :content="getLabelJoin(scope.row.domainLabel)" placement="top">
              <el-tag v-if="scope.row.domainLabel.length>0" size="small" class="tagItem">
                {{ scope.row.domainLabel[0]+"..." }}
              </el-tag>
            </el-tooltip> -->
            <!--以下去掉了上面注释得el-tooltip中得:content属性-->
            <el-tooltip class="item" effect="dark" placement="top">
              <!--启用插槽slot="content"-->
              <div slot="content" class="text_warp">
                {{getLabelJoin(scope.row.domainLabel)}}
              </div>
              <el-tag v-if="scope.row.domainLabel.length>0" size="small" class="tagItem">
                {{ scope.row.domainLabel[0]+"..." }}
              </el-tag>
            </el-tooltip>
          </div>
        </template>
      </el-table-column>

至此就实现了这种效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1983195.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Vue3】Pinia存储及读取数据

【Vue3】Pinia存储及读取数据 背景简介开发环境开发步骤及源码 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努力学习奋斗的日…

如何用OceanBase与DataWorks,打造一站式的数据集成、开发和数据服务

导语&#xff1a;在OceanBase 2024年开发者大会的技术生态论坛上&#xff0c;阿里云DataWorks团队的高级技术专家罗海伟&#xff0c;详细阐述了一站式大数据开发治理平台DataWorks的能力&#xff0c;并对于如何基于OceanBase和Dataworks构建一站式数据集成、开发以及数据服务进…

解锁模数学习新境界:电路仿真软件,你的数字与模拟世界桥梁大师!

在这个科技日新月异的时代&#xff0c;模数转换&#xff08;A/D与D/A&#xff09;不仅是电子工程师的必修课&#xff0c;也是众多科技爱好者探索数字与模拟世界奥秘的钥匙。而今&#xff0c;一款强大的电路仿真软件&#xff0c;正悄然成为连接这两大领域的魔法棒&#xff0c;让…

Animate软件基础:各种类型文件使用说明

FlashASer&#xff1a;AdobeAnimate2021软件零基础入门教程https://zhuanlan.zhihu.com/p/633230084 FlashASer&#xff1a;实用的各种Adobe Animate软件教程https://zhuanlan.zhihu.com/p/675680471 FlashASer&#xff1a;Animate教程及作品源文件https://zhuanlan.zhihu.co…

ps绘制动图

ps绘制动图教程&#xff08;简易版&#xff09;-直播gif动态效果图 第一步 打开ps绘制几个简单的长方形 第二步 将图层转化为智能图层 第三部 在窗口找到时间轴创建时间轴 第五步 通过变换来鼠标控制图像的变化并打下结束点 第六部 通过图像中的图像大小控制gif的大小 第七部 …

低代码: 系统开发准备之确定一般开发流程,需求分析,复杂度分析,标准开发流程

概述 低代码系统开发之前&#xff0c;我们首先要进行一些准备我们首先知道我们软件开发的一般流程同时&#xff0c;我们还要知道&#xff0c;我们整个系统平台的需求如何之后&#xff0c;我们要基于需求进行设计&#xff0c;包含UI设计与系统架构设计 一般开发流程 系统开发…

2024年【北京市安全员-B证】考试题库及北京市安全员-B证考试技巧

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 北京市安全员-B证考试题库根据新北京市安全员-B证考试大纲要求&#xff0c;安全生产模拟考试一点通将北京市安全员-B证模拟考试试题进行汇编&#xff0c;组成一套北京市安全员-B证全真模拟考试试题&#xff0c;学员可…

拉削基础知识——拉床的类型及特点

拉床是所有机械加工工具中最简单的一种&#xff0c;由拉削工具、夹具、驱动装置和支撑架组成。拉削加工可获得较高的尺寸精度和较小的表面粗糙度&#xff0c;生产率较高&#xff0c;适用于大批量生产。拉床按其结构主要分为卧式和立式。应用领域和功能可分为液压拉床、自动拉床…

【香菇带你学Mysql】Mysql数据库主备搭建【建议收藏】

文章目录 1. 概述1.1 为什么要搭建主备架构数据库&#xff1f;1.2 常见的Mysql数据库主备架构 2. Mysql 数据库主备搭建原理3. Mysql数据库主备搭建实操3.1 环境准备3.2 主库操作3.3 从库操作3.4 主从同步验证 4. 总结5. 参考文档 大家可能听过一个段子&#xff0c;当电脑遇到问…

java 关键字

Java的关键字是语言中保留的标识符&#xff0c;它们具有特定的含义和用途&#xff0c;并且不能用作变量名、方法名或类名等。Java 17&#xff08;最新的LTS版本之一&#xff09;中有53个关键字。 下面是每个关键字的含义及其实例 1. 控制结构关键字 这些关键字用于控制程序流…

第十六节、实装攻击判定

一、实现原理 人物三段式攻击的剑气增加一帧伤害即可 二、步骤 创建玩家下面的子物体 1、多边形碰撞体 给第一段攻击添加多边形碰撞体 2、帧触发 在这一帧添加动画&#xff0c;是触发器由失活状态转为使用状态 在这一帧勾选物体状态 3、计算攻击伤害 每一个挂载代码&…

大型语言模型微调的规模效应研究

人工智能咨询培训老师叶梓 转载标明出处 为了解锁大模型在特定下游应用中的全部潜力&#xff0c;通常需要通过微调&#xff08;finetuning&#xff09;来适配任务。尽管微调已成为一种常规做法&#xff0c;但关于不同微调方法的归纳偏差&#xff0c;尤其是规模特性的理解仍然有…

CRC16循环冗余校验

代码&#xff1a; #include<stdio.h> #include <stdint.h>#define uchar unsigned char #define uint unsigned int static const uint8_t auchCRCHi[] { 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x0…

33.x86游戏实战-喊话CALL

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 工具下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…

CTFHUB—XSS—DOM反射

开启题目 输入以下语句测试一下&#xff0c;发现页面没有弹出窗口显示“flag” <script>alert("flag")</script> 查看页面源代码&#xff0c; 尝试闭合标签 使用下面代码闭合&#xff0c;然后发现闭合成功了 </script><script>alert("…

【Python机器学习】利用AdaBoost元算法提高分类性能——基于AdaBoost的分类

一旦拥有了多个弱分类以及其对应的alpha值&#xff0c;进行测试就变得非常容易了。现在&#xff0c;要将弱分类器的训练过程从程序中抽出来&#xff0c;然后应用在某个具体的实例上。每个弱分类器的结果以其对应的alpha值作为权重。所有这些弱分类器的结果加权求和就得到了最后…

ElementUI元件库在Axure中使用

一、ElementUI元件库介绍 ElementUI 是一套为开发者、UI/UX设计师和产品经理准备的基于Vue 2.0的桌面端组件库。它以其优雅的设计和丰富的组件&#xff0c;极大地提升了Web应用的开发效率与用户体验。ElementUI的组件设计精致且符合现代UI规范&#xff0c;包括按钮、表单、弹窗…

判断用户是否在pwa环境中打开运行?(已安装的 PWA 与未安装的 PWA 网站之间有什么区别?)

前言&#xff1a; &#x1f449;vue3tsvite项目中使用vite-plugin-pwa搭建 PWA 项目&#xff0c;以及如何处理pwa安装图标的显示隐藏 &#x1f449;pwa在iframe下能否显示&#xff0c;以及在iframe下相关问题解析 如何判断用户是否在pwa环境中运行? 根据pwa配置的display-mo…

Captive Portal验证原理

物联网开发系列&#xff1a;物联网开发之旅① WiFi to Ethernet: 树莓派共享无线连接至有线网口&#xff0c;自动通过Captive Poartal验证物联网开发番外篇之 Captive Portal验证原理 文章目录 工作原理技术细节登录页面的实现自动化登录 登录界面的原理主要涉及到Web认证&…

想用matlab画一个3Y轴x-y图,如何实现??

&#x1f3c6;本文收录于《CSDN问答解惑-专业版》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收…