当前位置: 首页 > article >正文

关于在vue3中使用v-for动态ref并控制el-tooltips当文字溢出时才展示的问题

        大致需求是,用v-for渲染了一个表格,表格内容有些会溢出,有些不会。我们只想让溢出的内容展示el-tooltips,不溢出的内容没有必要去展示。

        话不多说,直接上代码(部分)。

<div class="boxItem" v-for="(v, i) in list" :key="i">
          <div class="boxItem-left">{{ v.label }}</div>
          <div class="boxItem-right" :ref="(el) => getRef(el, i)"            
               @mouseover="showEllipsis(i)">
            <el-tooltip effect="dark" :content="v.value" placement="top" 
                :disabled="!isEllipsis">
              <span>{{ v.value ? v.value : '--' }}</span>
            </el-tooltip>
          </div>
        </div>
// 存放动态ref
const refList = ref([])
const getRef = (el: any, i: any) => {
  if (el) {
    refList.value[i] = el
  }
}
// 判断文字是否超出
const isEllipsis = ref()
const showEllipsis = (index: any) => {
  const sWidth = refList.value[index].scrollWidth
  const cWidth = refList.value[index].clientWidth
  if (sWidth > cWidth) {
    // 实际宽度 > 可视宽度  文字溢出
    isEllipsis.value = true
  } else {
    // 否则为不溢出
    isEllipsis.value = false
  }
}
.boxItem-right {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}


http://www.kler.cn/a/506095.html

相关文章:

  • opencv进行人脸识别环境搭建
  • Scala语言的多线程编程
  • 网络安全 | 什么是威胁情报?
  • 深度学习电影推荐-CNN算法
  • Linux-----线程操作(创建)
  • Hive SQL必刷练习题:留存率问题
  • WPS计算机二级•常用图表制作
  • NLP DAY1: 文本数据读取
  • 【优选算法】三数之和(双指针算法)
  • 【云岚到家】-day02-客户管理-认证授权
  • 如何在vue中渲染markdown内容?
  • 如何清理docker垃圾
  • Spring boot面试题----Spring Boot如何实现应用程序的热部署
  • 蓝桥杯备考:二叉树详解
  • STL中的List
  • 机器学习(一)
  • 基础vue3前端登陆注册界面以及主页面设计
  • centos 7 NFS部署
  • 计算机网络的五层协议
  • 【EI 会议征稿通知】第七届机器人与智能制造技术国际会议 (ISRIMT 2025)
  • Springboot Redisson 分布式锁、缓存、消息队列、布隆过滤器
  • KVM创建ubuntu20.04虚机,部署K8S,再克隆出二份,做为Worker节点加入集群,通过Helm创建2个Pod,让它们之间通过域名互访
  • 解锁转型密码:不同方向的技能与素质修炼手册
  • PHP与HTML、CSS、JavaScript、jQuery的关系**
  • 主动出击,在去中心化世界中成为连接中心
  • 线性变换与矩阵的关系及其在机器学习中的应用