ElementUi使用el-tooltip实现超出部分显示省略号
效果前:

效果后:

创建myTooltio.vue组件
<template>
    <div class="tooltip-container">
        <el-tooltip class="my-tooltip" :disabled="showTooltip" :content="text">
            <p ref="tooltipBox" class="text-box">
                <span ref="tooltipItem" class="">{{text}}</span>
            </p>
        </el-tooltip>
    </div>
</template>
<script>
    export default {
        name: "myTooltip",
        props: {
            text: {
                type: String,
                default: () => ""
            }
        },
        data(){
            return {
                showTooltip: true
            }
        },
        watch:{
            text:{
                handler(){
                    this.$nextTick(()=>this.checkWidth());
                },
                immediate: true
            }
        },
        methods:{
            checkWidth(){
                const boxWidth = this.$refs['tooltipBox'].offsetWidth;
                const itemWidth = this.$refs['tooltipItem'].offsetWidth;
                this.showTooltip = boxWidth > itemWidth
            }
        }
    };
</script>
<style scoped lang="less">
    .tooltip-container{
        width:100%;
        .text-box{
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
        }
    }
</style>lang=“less” 可以敲层级关系的样式
scoped 使style内的样式只作用于当前的界面
引入myTooltio.vue组件
在需要的*.vue中引入
<div class="test">
    <my-tooltip :text="2132131231231231231231221"></my-tooltip>
</div>
<script>
    import myTooltip from "@/components/tools/myTooltip";
    export default {
        name: "TestItem",
        components: {
            myTooltip
        },
    }
<style scoped>
    /deep/ .test{
        width:180px;
        height: 40px;
        /*border:1px solid #345123;*/
        cursor:pointer;
    }
</style>至此刷新页面即可。
若报错,提示缺少less和less-loader模块,需要安装一下。
cmd打开命令窗口进入到当前项目路径下,分别输出以下命令安装:
# 保险起见,我们还是安装4+比较好
npm install less@4 --save-dev
# less-loader的版本号要搭配webpack的版本号来选择,webpack@4+可以选择的less-loader版本是5~7
npm install less-loader@7 --save-devElementUi使用el-tooltip实现超出部分显示省略号的更多相关文章
- css 超出部分显示省略号
		代码: overflow: hidden; white-space: nowrap; text-overflow: ellipsis; 重点代码:text-overflow: ellipsis; 解 ... 
- CSS实现单行、多行文本超出部分显示省略号
		单行文本超出,代码如下: css代码: <style> .one{ width:200px; overflow: hidden; text-overflow:ellipsis; whit ... 
- Table组件设置文字超出宽度显示省略号,鼠标悬停以悬浮框显示
		一.设置文字超出宽度显示省略号 注意点: 1. 需要指定column的width属性,否则列头跟内容可能不对齐.需要留一列不设置宽度以适应弹性布局. 2. 列宽度width必须大于ellipsis的 ... 
- HTML5 元素文字超出部分显示省略号(支持多行),兼容几乎所有常用浏览器
		1,公共样式,在公共的 CSS 文件中加入以下内容 /* 超出部分显示省略号,支持多行 */ .text-ells:before { content: ''; float: left; width: ... 
- css文字超出自动显示省略号
		只针对单行文本有效: 01.针对块状元素 ul li{ width: 180px; text-overflow: ellipsis; white-space: nowrap;/*禁止自动换行*/ ov ... 
- JS控制文字只显示两行,超出部分显示省略号
		由于使用css控制文字只显示多行,超出部分显示省略号,存在一定的兼容性问题,所以总结了一下网上一些大咖使用js实现控制行数的解决方案. 第一步:依次引入jquery.js+jquery.ellipsi ... 
- css文本强制两行超出就显示省略号,不显示省略号
		1. 强制一行的情况很简单 overflow:hidden; //超出的隐藏 text-overflow:ellipsis; //省略号 white-space:nowrap; //强制一行显示 2. ... 
- CSS——文本超出隐藏显示省略号
		文本超出隐藏显示省略号 1.单行文本的溢出显示省略号 overflow: hidden; text-overflow:ellipsis; white-space: nowrap; // overflo ... 
- CSS3:text-overflow实现文字截取,超出部分显示省略号
		1. 概述 使用text-overflow:ellipsis对溢出文本显示省略号有两个好处, 一是不用通过后端程序截取: 二是有利于SEO. 2. text-overflow的属性 clip: 当对象 ... 
- CSS控制文字,超出部分显示省略号
		http://www.daqianduan.com/6179.html <p style="width: 300px;overflow: hidden;white-space: now ... 
随机推荐
- Redis报错MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on
			1.错误信息 org.redisson.client.RedisException: MISCONF Redis is configured to save RDB snapshots, but is ... 
- vue上传文件(原生方法)
			前言: 组件库的文件上传不适合项目,这里我们利用input标签实现文件上传 首先input type=file 标签是这个亚子的,而且样式不能改,我们利用css的方法,将一个定位到这个下面来,然后i ... 
- 【Redis】持久化实现(RDB、AOF)
			一.Redis RDB 持久化 1.RDB 工作原理 RDB(Redis Database)基于时间进行生成数据快照,默认只保留当前最新数据状态,优点时执行速度较快,但上次数据保存点到当前时间点之间的 ... 
- Mysql列转行, group_concat的使用
			开始业务的查询的时候碰到一个sql的查询语句问题,主要是 group_concat 之前没用过,现在记录一下怎么用 group_concat 用法, 可以将相同的行组合起来 group_concat( ... 
- 2022-05-27:现在有N条鱼,每条鱼的体积为Ai,从左到右排列,数组arr给出。 每一轮,左边的大鱼一定会吃掉右边比自己小的第一条鱼, 并且每条鱼吃比自己小的鱼的事件是同时发生的。 返回多少轮之
			2022-05-27:现在有N条鱼,每条鱼的体积为Ai,从左到右排列,数组arr给出. 每一轮,左边的大鱼一定会吃掉右边比自己小的第一条鱼, 并且每条鱼吃比自己小的鱼的事件是同时发生的. 返回多少轮之 ... 
- drf-spectacular
			介绍 drf-spectacular是为Django REST Framework生成合理灵活的OpenAPI 3.0模式.它可以自动帮我们提取接口中的信息,从而形成接口文档,而且内容十分详细,再也不 ... 
- Django4全栈进阶之路15 项目实战(用户管理):login.html登录画面设计
			要编写登录页面,我们需要完成以下步骤: template文件夹中创建 login.html 模板文件,输入以下 HTML 代码: {% extends 'base.html' %} {% block ... 
- vue全家桶进阶之路35:Vue3 传递参数query和params
			在 Vue.js 3.x 中,可以通过路由的 params 和 query 属性来传递参数. 通过 params 传递参数 我们可以在路由跳转时通过 params 传递参数.具体方法如下: // 在组 ... 
- 创建CMDB项目
- 2014年蓝桥杯C/C++大学B组省赛真题(六角填数)
			题目描述: 如图[1.png]所示六角形中,填入1~12的数字. 使得每条直线上的数字之和都相同. 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少? 分析:先将a数组初始化为1-12 ... 
