首页 > 其他分享 >ElementUi使用el-tooltip实现超出部分显示省略号

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

时间:2023-03-22 15:55:37浏览次数:38  
标签:el 省略号 less default text ElementUi tooltip loader myTooltip

效果前:

效果后:

创建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>

引入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>

至此刷新页面即可。

若报错,提示缺少lessless-loader模块,需要安装一下。

cmd打开命令窗口进入到当前项目路径下,分别输出以下命令安装:

# 保险起见,我们还是安装4+比较好
npm install less@4 --save-dev
# less-loader的版本号要搭配webpack的版本号来选择,webpack@4+可以选择的less-loader版本是5~7
npm install less-loader@7 --save-dev

 

标签:el,省略号,less,default,text,ElementUi,tooltip,loader,myTooltip
From: https://www.cnblogs.com/aerfazhe/p/17244275.html

相关文章

  • video在el-table中的使用
            vue页面:<el-table-columnprop="videoPath" label="视频"align="center">  <templateslot-scope="scope">   <divv-show="sc......
  • elasticsearch RESTful搜索引擎-(java jest 使用[入门])
     elasticsearch简称ESjest好吧下面我介绍下jest(第三方工具)它是ES的java客户端,基于httprestful...jest是开源的 首先看看项目的目录结构我一般习惯了用maven去管理我的......
  • NginxWeb服务器定时切割日志shell脚本
    Nginx定时切割日志定时切割方式有按月切割、按天切割、按小时切割等。最常用的是按天切割。Nginx不支持像Apache一样使用cronolog来轮转日志,但是可以采用以下方式来实现日......
  • helm3的安装使用
    转载自:https://www.jianshu.com/p/6907fc806b75========= 1.Helm3安装(二进制安装)#根据操作系统跟所需版本去获取最新二进制安装包https://github.com/helm/helm/r......
  • Java 使用 POI 导出Excel,设置同一个单元格的内容显示不同的文字颜色
    要在Java中导出Excel并设置同一单元格的内容显示不同的文字颜色,可以使用ApachePOI库来实现。下面是一个示例代码,演示如何在单元格中设置不同颜色的文本:1//创建......
  • 服务器sel日志结合mcelog分析故障主要针对CPU以及内存
    两个CPU平台介绍:Grantley以及Purley建议装最新的mcelog工具到系统下,mcelog-help查看支持的平台两个关键要素:1.CPU位置和BANK位置可以使用命令:cat/proc/cpuinfo|......
  • vue+element 下拉框选择加搜索并且列表选项带图片
    子组件代码:<template> <!--单选下拉框--> <el-select  v-model.trim="selectValue"  filterable  clearable  :placeholder="placeText" ......
  • elasticsearch7.x
    相比6.x,去掉了type参见https://www.bilibili.com/video/BV1pV4y1K7WL?p=8&vd_source=b879d4ff10c4ff63bbd44d7f0839ffa2kibana操作es:0.查看xxx下type的结构:1.添加表......
  • 从Eliza到ChatGPT,对话系统发展简史✨
    最近,由人工智能实验室OpenAI发布的对话式大型语言模型ChatGPT在各大中外媒体平台掀起了一阵狂热之风。短短4天时间,其用户量到达百万级,用户之多导致服务器一度爆满。继AI绘......
  • The value of the cell C1 should not be a string value.
    Aspose.cells打开文件之后输出为DataTable,是将第一行作为数据类型判断,列具有混合数据集错误代码varcells=workbook.Worksheets[0].Cells;vardetailTable=cells.Ex......