实现溢出隐藏的内容显示el-tooltip,其余不显示el-tooltip框

需求:

       内容超出宽度,要省略号显示,并且要显示el-tooltip框,则没有超出宽度的内容,就不显示el-tooltip框

html代码:

<div class="jobLine" v-for="(jobItem, index) in jobVoList" :key="jobItem.applicationJobId" @click="linkToJob(jobItem, index)" :class="{'active': viewLogJobIndex === index}">
   <template v-if="isOverflow[index]">
      <el-tooltip popper-class="tooltips-class" effect="dark" :content="jobItem.jobName" placement="bottom"  >
        <span class="job-name" :ref="`jobName${index}Ref`">职位{{ index + 1 }}:{{ jobItem.jobName }}</span>
     </el-tooltip>
    </template>
    <template v-else>
       <span class="job-name" :ref="`jobName${index}Ref`">职位{{ index + 1 }}:{{ jobItem.jobName }}</span>
    </template>
 </div>

js代码:

   

data() {
    return {
      isOverflow: false, 
    }
},
mounted(){
  this.checkOverflow();  
  window.addEventListener('resize', this.checkOverflow); // 监听窗口大小变化  
},
methods: {
     // 职位文字超长显示tooltips框
   checkOverflow() { 
     this.isOverflow = this.jobVoList.map((_, index) => {  
       const element = this.$refs[`jobName${index}Ref`][0]; // 获取对应的 DOM 元素  
       if( element.scrollWidth > element.clientWidth){
         return true
       }else{
         return false
       }
    });  
}, 
beforeDestroy() {  
   window.removeEventListener('resize', this.checkOverflow); // 清理事件监听  
},  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值