文本溢出隐藏 显示省略号,鼠标悬浮展示 el-tooltip(TooltipIsShowMixin封装)

目录

  • mixins 封装
  • 使用 TooltipIsShowMixin
  • 效果展示

mixins 封装

TooltipIsShowMixin.js

export const TooltipIsShowMixin = {data() {return {tooltipIsShow: false}},methods: {tooltipIsDisHandler(className) {this.$nextTick(() => {const dom = document.querySelector(className)const domScrollWidth = dom && dom.scrollWidthconst domClientWidth = dom && dom.clientWidth// console.log('domScrollWidth----', domScrollWidth)// console.log('domClientWidth----', domClientWidth)this.tooltipIsShow = domClientWidth >= domScrollWidth})}}
}

使用 TooltipIsShowMixin

<div class="list" :style="{ '--height': tableMaxHeight + 'px' }"><div v-for="(item, index) in tableData" :key="index" class="list-card"><div class="list-card-pic"><div class="list-card-pic-type">{{ item.type }}</div><div class="list-card-pic-time">{{ item.duration }} {{ item.createTime }}</div></div><div class="list-card-info"><div class="list-card-info-header"><div class="list-card-info-header-title font-bold text-lg">{{ item.title }}</div><div class="list-card-info-header-opera"><el-button type="text" icon="el-icon-edit" /><el-button type="text" icon="el-icon-delete" /></div></div><div class="list-card-info-describe"><el-tooltipeffect="dark":content="item.description"placement="top-start":disabled="tooltipIsShow"><span:class="[`description${index}`]"@mouseenter="tooltipIsDisHandler(`.description${index}`)">{{ item.description }}</span></el-tooltip></div></div></div>
</div><script>
import { TooltipIsShowMixin } from '@/mixins/TooltipIsShowMixin'export default {// ...mixins: [TooltipIsShowMixin],
}
</script>
<style scoped lang="scss">
.list {height: var(--height);overflow: auto;&-card {display: inline-block;width: calc(25% - 12px);margin: 0 15px 15px 0;box-shadow: 0 0 5px #ccc;&:nth-child(4n) {margin-right: 0;}&-pic {height: 170px;background: url('~@/assets/image/default-course-cover.png') no-repeat;background-size: 100% 100%;position: relative;color: #fff;$width: 10px;&-type {position: absolute;top: $width;right: $width;background: rgba($color: #fff, $alpha: 0.3);border-radius: 10px;padding: 3px 8px;}&-time {position: absolute;bottom: $width;right: $width;}}&-info {padding: 10px 20px;background-color: #fff;&-header {display: flex;justify-content: space-between;align-items: center;}&-describe {margin: 5px 0;color: #00000073;span {display: inline-block;width: 100%;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}}}}
}
</style>

效果展示

未溢出的鼠标悬浮不展示 el-tooltip
溢出展示省略号的鼠标悬浮展示 el-tooltip

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

原生IP是什么?如何获取海外原生IP?

一、什么是原生IP 原生IP地址是互联网服务提供商&#xff08;ISP&#xff09;直接分配给用户的真实IP地址&#xff0c;无需代理或转发。这类IP的注册国家与IP所在服务器的注册地相符。这种IP地址直接与用户的设备或网络关联&#xff0c;不会被任何中间服务器或代理转发或隐藏。…

allure怎么生成测试报告简单方法

方法一&#xff1a;import pytest pytest.main([‘-s’,‘./执行文件名.py’,‘–alluredir’,‘./result’]) 方法二&#xff1a;os.system(‘allure generate result -o report --clean’) 1、点击index.html&#xff0c;右上角选择浏览器打开 2、查看界面化测试报告

Linux/Validation

Enumeration nmap 第一次扫描发现系统对外开放了22&#xff0c;80&#xff0c;4566和8080端口&#xff0c;端口详细信息如下 系统对外开放了4个端口&#xff0c;从nmap的结果来看&#xff0c;8080无法访问&#xff0c;手动尝试后4566也无法访问&#xff0c;只能从80端口开始 …

Redis分段锁,如何设计?

问题场景&#xff1a;热点库存扣减问题 秒杀场景&#xff0c;有一个难度的问题&#xff1a;热点库存扣减问题。 既要保证不发生超卖 又要保证高并发 如果解决这个高难度的问题呢&#xff1f; 答案就是使用redis 分段锁。 什么是分布式锁&#xff1f; 一个分布式系统中&am…

常见四种限流算法详解(附:javaDemo)

限流简介 现代互联网很多业务场景&#xff0c;比如秒杀、下单、查询商品详情&#xff0c;最大特点就是高并发&#xff0c;而往往我们的系统不能承受这么大的流量&#xff0c;继而产生了很多的应对措施&#xff1a;CDN、消息队列、多级缓存、异地多活。 但是无论如何优化&…

Selenium自动化测试-3.元素定位(1)

这次我们要分享的是对元素的定位&#xff0c;在一个页面中有很多不同的策略来定位一个元素&#xff0c;我们选择最合适的方法即可。 一个页面最基本组成单元是元素&#xff0c;想要定位一个元素&#xff0c;我们需要特定的信息来说明这个元素的唯一特征。 selenium 主要提供了…

2024 年 AI 辅助研发趋势

随着人工智能技术的持续发展与突破&#xff0c;2024年AI辅助研发正成为科技界和工业界瞩目的焦点。从医药研发到汽车设计&#xff0c;从软件开发到材料科学&#xff0c;AI正逐渐渗透到研发的各个环节&#xff0c;变革着传统的研发模式。在这一背景下&#xff0c;AI辅助研发不仅…

浅析assert宏

浅析assert宏 文章目录 浅析assert宏前言1. 简单的断言案例2. 断言与正常错误处理3. 断言的应用场景总结 前言 首先声明一点&#xff0c;断言&#xff08;assert&#xff09;是宏&#xff0c;而非函数。 ​ assert 宏的原型定义在 <assert.h>&#xff08;C&#xff09;、…

DIN11 OC系列导轨式光电隔离变送器模拟信号转换0-75mV0-50mV0-100mV转4-20mA0-5V0-10V

概述&#xff1a; 导轨安装DIN11 IPO OC系列模拟信号隔离放大器是一种将输入信号隔离放大、转换成按比例输出的直流信号混合集成厚模电路。产品广泛应用在电力、远程监控、仪器仪表、医疗设备、工业自控等需要直流信号隔离测控的行业。此系列产品内部采用了线性光电隔离技术相…

C++ 哈希表OJ

目录 1、1. 两数之和 2、面试题 01.02. 判定是否互为字符重排 3、217. 存在重复元素 4、 219. 存在重复元素 II 5、49. 字母异位词分组 频繁查找某一个数的时候可以使用哈希表&#xff0c;哈希表可以使用容器&#xff0c;也可以使用数组模拟&#xff0c;当元素是字符串中的字…

类和对象周边知识

再谈构造函数 前几期我们把六个默认成员函数一一说明后&#xff0c;构造函数还有一些周边知识。 初始化列表 我们在没有了解初始化列表的时候一般都是使用构造函数初始化或者在声明哪里给予缺省值&#xff0c;那么为什么好药存在初始化列表呢&#xff1f;是因为①.有些值必须…

软件测试面试200问(全)

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1、你的测试职业发展是什么&#xff1f; 测试经验越多&#xf…