【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>
相关推荐
用户21366100357212 分钟前
Vue2组件化开发与父子通信
前端·vue.js
Momo__1 小时前
TypeScript satisfies 操作符——比 as 更安全的类型守门员
前端·typescript
用户2136610035721 小时前
Vue2事件系统与指令进阶
前端·vue.js
labixiong1 小时前
实现一个能跑的迷你版Promise(一)
前端·javascript·面试
Csvn3 小时前
`??` 和 `||` 搞混,线上用户头像全挂了
前端
kyriewen3 小时前
白宫前脚下了限制令,OpenAI 后脚就把 GPT-5.6 发了
前端·gpt·openai
用户40269244819084 小时前
CRMEB Pro 新增后台接口全链路:路由、权限、验证器、返回格式一次讲清
前端·后端
泉城老铁4 小时前
springboot+vue+ ffmpeg 实现视频的拉流播放
前端
逸铭4 小时前
Day 5:三栏布局——左账号 / 中聊天 / 右工具
vue.js·electron
PedroQue995 小时前
uni-router v1.8.0新增冷启动守卫补执行
前端·uni-app