【vue】解决element-ui的el-select下拉框中选项内容太长问题

实现效果:

1.给下拉框设置最大宽度;

2.内容一行展示,不换行,多余部分显示省略号;

3.有省略号的那一行,加悬浮提示;

4.没有省略号的地方不加悬浮提示


代码展示:

复制代码
<template>
  <el-select :popper-append-to-body="false">
    <el-option v-for = "item in dataList" :key = "item.value" :label = "item.label" :value = "item.value">
        <el-tooltip effect="light" :disabled="isShowTooltip" :content="item.label" placement="top">
          <div class="option-item" @mouseover="spanMouseenter($event)">
            {{ item.label }} 
          </div>
        </el-tooltip>
    </el-option>
  </el-select>
</template>
<script>
export default {
  data() {
    return {
      isShowTooltip: true,
    };
  },
  methods: {
    spanMouseenter(e) {
       let target = e.target
      if (target.clientWidth < target.scrollWidth) {
        this.isShowTooltip = false;
      } else {
        this.isShowTooltip = true;
      }
    },
  },
};
</script>
<style>
.option-item {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.el-select /deep/ .el-select-dropdown__item {
  max-width: 600px;
}
</style>
相关推荐
hepherd3 分钟前
Flask学习笔记 - 模板渲染
前端·flask
LaoZhangAI3 分钟前
【2025最新】Manus邀请码免费获取完全指南:5种稳定渠道+3个隐藏方法
前端
经常见4 分钟前
浅拷贝与深拷贝
前端
艾克马斯奎普特5 分钟前
Vue.js 3 渐进式实现之响应式系统——第一节:系列开篇与响应式基本实现
vue.js
梅子酱~9 分钟前
Vue 学习随笔系列二十二 —— 表格高度自适应
javascript·vue.js·学习
前端飞天猪9 分钟前
学习笔记:三行命令,免费申请https加密证书📃
前端
关二哥拉二胡11 分钟前
前端的 AI 应用开发系列二:手把手揭秘 RAG
前端·面试
斯~内克12 分钟前
前端图片加载性能优化全攻略:并发限制、预加载、懒加载与错误恢复策略
前端·性能优化
你的人类朋友13 分钟前
JS严格模式,启动!
javascript·后端·node.js
奇怪的知识又增长了21 分钟前
Command SwiftCompile failed with a nonzero exit code Command SwiftGeneratePch em
前端