【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>
相关推荐
修炼的dance5 分钟前
OCR预处理测了108组,纠斜去噪有用,坑在顺序和力度
前端
独隅7 分钟前
WebStorm Windows 版 React / Next.js 实战替换指南
javascript·windows·webstorm
冷眸_11 分钟前
同名食材不能直接相减:一个 JavaScript 用量模型的边界
javascript
不可能片场14 分钟前
AI视频成片 帧间差分把拼接缝照出来
前端·electron
写的都是BUG14 分钟前
APK 里的钥匙,一直就放在门口:聊聊加固真正该做什么
前端·算法
dpharness16 分钟前
我踩过的四个记忆坑,从预算到换机
前端·后端
ruanno_top20 分钟前
倒计时该用 deadline 还是每秒减一?我把两种写法都跑了一遍
vue.js
apollo_qwe21 分钟前
接口超时了,前端为什么不能直接重试?
javascript·http
用户77833661321125 分钟前
SerpBase驱动:用原生JS实现搜索意图分流浮层
前端
阿明的小蝴蝶25 分钟前
设备出厂横竖屏修改 & 默认手势导航修改(按键导航)
前端