vue3项目中el-tooltip实现内容溢出时再显示,并设置tip的最大宽度

 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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值