实现效果:
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>
复制