html代码
<el-tooltip :disabled="!textIsOverflow" placement="top"><template #content><div class="tooltip-div">tootip的内容</div></template><div class="textOverflow" ref="textRef">触发的内容,这里要处理成溢出采用省略号效果,配合tooltip食用,完美</div></el-tooltip>
js代码
const textRef = ref();
const textIsOverflow = ref(false);
// 判断内容是否超出div的宽度
const checkIsOverflow = () => {if (textRef.value) {const clientW = textRef.value.clientWidth;const scrollW = textRef.value.scrollWidth;textIsOverflow.value = scrollW > clientW;}
};
onMounted(() => {// nextTick(() => {checkIsOverflow();// 这行代码放在tip使用的数据返回的地方,获取不到dom元素的话配合nextTick使用。或者放在onMounted里。// })
})
css代码
.tooltip-div {max-width: 200px;
}.textOverflow {width: 300px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;cursor: default;
}