• vue.js el-tooltip根据文字长度控制是否提示toolTip


    一、需求:如何判断当前文本文字是否超出文本长度,是否需要出现提示toolTip。效果图如下:

    二、实现:

    1、表格字段鼠标放置el-popover出现 “引用主题” 的具体内容;

    1. <el-table-column
    2. align="center"
    3. header-align="center"
    4. width="100"
    5. label="引用主题"
    6. sortable="custom"
    7. prop="refCnt"
    8. show-overflow-tooltip
    9. >
    10. <template slot-scope="scope">
    11. <span v-if="scope.row.refCnt == '0'" style="color: #f56c6c">0span>
    12. <el-popover
    13. v-else
    14. placement="bottom"
    15. width="150"
    16. trigger="hover"
    17. >
    18. <ul :data="scope.row?.themeVos" class="ul-popover">
    19. <li v-for="(item, index) in scope.row?.themeVos" :key="index">
    20. <el-tooltip
    21. class="item"
    22. effect="light"
    23. :content="item?.themeName"
    24. placement="top-start"
    25. :disabled="!isShowTooltip"
    26. >
    27. <div @mouseenter="visibilityChange($event)" class="overflow">
    28. {{ item?.themeName }}
    29. div>
    30. el-tooltip>
    31. li>
    32. ul>
    33. <span
    34. style="color: #1989fe; cursor: pointer"
    35. slot="reference"
    36. >
    37. {{ scope.row.refCnt }}
    38. span>
    39. el-popover>
    40. template>
    41. el-table-column>

    2、定义isShowTooltip控制是否展示提示文字tooltip;

    1. data() {
    2. return {
    3. isShowTooltip: false, // 是否显示提示文字
    4. }
    5. }

    3、对应的鼠标放置触发的方法实现;

    1. // 是否提示toolTip
    2. visibilityChange(event) {
    3. const ev = event.target
    4. const ev_weight = ev.scrollWidth // 文本的实际宽度 scrollWidth:对象的实际内容的宽度,不包边线宽度,会随对象中内容超过可视区后而变大。
    5. const content_weight = ev.clientWidth // 文本的可视宽度 clientWidth:对象内容的可视区的宽度,不包滚动条等边线,会随对象显示大小的变化而改变。
    6. // const content_weight = this.$refs.tlp.$el.parentNode.clientWidth; // 文本容器宽度(父节点)
    7. if (ev_weight > content_weight) {
    8. // 实际宽度 > 可视宽度 文字溢出
    9. this.isShowTooltip =true
    10. } else {
    11. // 否则为不溢出
    12. this.isShowTooltip = false
    13. }
    14. },

  • 相关阅读:
    15 医疗挂号系统_【预约挂号】
    ActionVLAD算法详解
    【数据库】openGauss3.1.0版本做了哪些优化
    牛客网刷题
    《Effective C++》系列之(1)用常量、枚举、内联替代宏
    基于二叉树结构是刷题
    AVL树的插入操作
    src与href的区别?
    深剖 C++ 继承——十分钟手撕C++
    Jenkins结合allure生成测试报告
  • 原文地址:https://blog.csdn.net/weixin_47978760/article/details/136207598