vue.js el-tooltip根據(jù)文字長(zhǎng)度控制是否提示toolTip問(wèn)題
一、需求
如何判斷當(dāng)前文本文字是否超出文本長(zhǎng)度,是否需要出現(xiàn)提示toolTip。
效果圖如下:

二、實(shí)現(xiàn)
1.表格字段鼠標(biāo)放置el-popover出現(xiàn) “引用主題”
的具體內(nèi)容;
<!-- 表格字段:引用主題 -->
<el-table-column
align="center"
header-align="center"
width="100"
label="引用主題"
sortable="custom"
prop="refCnt"
show-overflow-tooltip
>
<template slot-scope="scope">
<span v-if="scope.row.refCnt == '0'" style="color: #f56c6c">0</span>
<el-popover
v-else
placement="bottom"
width="150"
trigger="hover"
>
<ul :data="scope.row?.themeVos" class="ul-popover">
<li v-for="(item, index) in scope.row?.themeVos" :key="index">
<el-tooltip
class="item"
effect="light"
:content="item?.themeName"
placement="top-start"
:disabled="!isShowTooltip"
>
<!-- visibilityChange:鼠標(biāo)放置后是否展示省略部分;-->
<!-- class="overflow":是否超出隱藏出現(xiàn)省略號(hào); -->
<div @mouseenter="visibilityChange($event)" class="overflow">
{{ item?.themeName }}
</div>
</el-tooltip>
</li>
</ul>
<span
style="color: #1989fe; cursor: pointer"
slot="reference"
>
{{ scope.row.refCnt }}
</span>
</el-popover>
</template>
</el-table-column>2.定義isShowTooltip控制是否展示提示文字tooltip
data() {
return {
isShowTooltip: false, // 是否顯示提示文字
}
}3.對(duì)應(yīng)的鼠標(biāo)放置觸發(fā)的方法實(shí)現(xiàn)
// 是否提示toolTip
visibilityChange(event) {
const ev = event.target
const ev_weight = ev.scrollWidth // 文本的實(shí)際寬度 scrollWidth:對(duì)象的實(shí)際內(nèi)容的寬度,不包邊線寬度,會(huì)隨對(duì)象中內(nèi)容超過(guò)可視區(qū)后而變大。
const content_weight = ev.clientWidth // 文本的可視寬度 clientWidth:對(duì)象內(nèi)容的可視區(qū)的寬度,不包滾動(dòng)條等邊線,會(huì)隨對(duì)象顯示大小的變化而改變。
// const content_weight = this.$refs.tlp.$el.parentNode.clientWidth; // 文本容器寬度(父節(jié)點(diǎn))
if (ev_weight > content_weight) {
// 實(shí)際寬度 > 可視寬度 文字溢出
this.isShowTooltip =true
} else {
// 否則為不溢出
this.isShowTooltip = false
}
},總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue中異步數(shù)據(jù)獲取方式(確保數(shù)據(jù)被獲取)
這篇文章主要介紹了vue中異步數(shù)據(jù)獲取方式(確保數(shù)據(jù)被獲取),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
vue學(xué)習(xí)筆記之vue1.0和vue2.0的區(qū)別介紹
今天我們來(lái)說(shuō)一說(shuō)vue1.0和vue2.0的主要變化有哪些?對(duì)vue相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2017-05-05
vue 輸入電話號(hào)碼自動(dòng)按3-4-4分割功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了vue 輸入電話號(hào)碼自動(dòng)按3-4-4分割功能的實(shí)現(xiàn)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
vue項(xiàng)目同時(shí)兼容pc和移動(dòng)端的解決方式
我們經(jīng)常在項(xiàng)目中會(huì)有支持pc與手機(jī)端需求,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目同時(shí)兼容pc和移動(dòng)端的解決方式,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10
vue使用Office?Web實(shí)現(xiàn)線上文件預(yù)覽
這篇文章主要為大家介紹了vue使用微軟的開發(fā)接口Office?Web,實(shí)現(xiàn)線上文件預(yù)覽,預(yù)覽word,excel,pptx,pdf文件,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
vue2 中如何實(shí)現(xiàn)動(dòng)態(tài)表單增刪改查實(shí)例
本篇文章主要介紹了vue2 中如何實(shí)現(xiàn)動(dòng)態(tài)表單增刪改查實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06
使用Vue寫一個(gè)todoList事件備忘錄經(jīng)典小案例
學(xué)習(xí)了幾天Vue之后終于迎來(lái)了第一個(gè)小案例,todoList是非常常見地一個(gè)小案例,下面這篇文章主要給大家介紹了關(guān)于使用Vue寫一個(gè)todoList事件備忘錄經(jīng)典小案例的相關(guān)資料,需要的朋友可以參考下2022-10-10

