el-tooltip 控制文本超出范围时再触发提示

 

 初始状态下鼠标移入红色框就会提示,数据量过大有滚动条情况下会影响体验。

关键代码标红处理

                          <el-tooltip :disabled="!tooltipFlag" class="item" effect="dark" placement="top">
                            <template slot="content">
                              <p style="max-width:500px;">{{ item['baseInfo.title'] }}</p>
                            </template>
                            <p @mouseenter="visibilityChange($event)" v-html="item['baseInfo.title']" @click="searchDetail(item.aid)" class="info-mes pointer"
                               style="  display:-webkit-box;
                                -webkit-box-orient: vertical;
                                -webkit-line-clamp: 2;
                                overflow: hidden;
                                font-weight: 700;
                          "></p>
                          </el-tooltip>

data定义

tooltipFlag: false,

methods

    // tooltip的可控
    visibilityChange(event) {
      const ev = event.target
      if (ev.clientHeight < ev.scrollHeight) {
        // 实际内容高度 > 文本高度 =》内容溢出
        this.tooltipFlag = true // NameIsIncludeWord ? true : !!false
      } else {
        // 否则为不溢出
        this.tooltipFlag = false
      }
    },

原理判断实际内容高度大于容器高度

 

 

 

 如果出现闪烁出现滚动条情况可以对出现滚动条区域进行overflow:hidden处理,前提不要影响其他,自行判断。

posted @ 2023-01-31 14:10  从入门到入土  阅读(449)  评论(0编辑  收藏  举报