寻找一种仅在元素被截断时显示工具提示的方法
Looking for a way to show tooltip only when the element is truncated
我需要帮助找到一个解决方案,以便仅在 span 元素被截断时才显示工具提示元素。
<q-td v-for="(col,index) in props.cols" :key="col.name" :props="props">
<span class="truncate">{{ col.value }}</span>
<q-tooltip content-class="bg-primary" anchor="top middle" self="top middle" v-if="(index===0 || index===4) && col.value">{{ col.value }}</q-tooltip>
</q-td>
我尝试使用 scrollWidth 和 clientWidth 来实现,但是当我尝试使用 document.getElementById(elementID) 访问 span 元素时,它 returns 未定义,我假设是因为 span 元素是动态添加的。
截断 class 定义如下:
.truncate {
display: block;
width: 0;
min-width: 100%;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
您可以创建一种方法来检查文本长度,并仅在文本长度大于特定阈值(因此被截断)时显示工具提示。例如:
<q-td v-for="(col,index) in props.cols" :key="col.name">
<span class="truncate">{{ col.value }}</span>
<q-tooltip content-class="bg-primary" v-if="isTooltip(col.value)">
{{ col.value }}
</q-tooltip>
</q-td>
methods: {
isTooltip(col) {
return col.length > 10
}
}
我需要帮助找到一个解决方案,以便仅在 span 元素被截断时才显示工具提示元素。
<q-td v-for="(col,index) in props.cols" :key="col.name" :props="props">
<span class="truncate">{{ col.value }}</span>
<q-tooltip content-class="bg-primary" anchor="top middle" self="top middle" v-if="(index===0 || index===4) && col.value">{{ col.value }}</q-tooltip>
</q-td>
我尝试使用 scrollWidth 和 clientWidth 来实现,但是当我尝试使用 document.getElementById(elementID) 访问 span 元素时,它 returns 未定义,我假设是因为 span 元素是动态添加的。 截断 class 定义如下:
.truncate {
display: block;
width: 0;
min-width: 100%;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
您可以创建一种方法来检查文本长度,并仅在文本长度大于特定阈值(因此被截断)时显示工具提示。例如:
<q-td v-for="(col,index) in props.cols" :key="col.name">
<span class="truncate">{{ col.value }}</span>
<q-tooltip content-class="bg-primary" v-if="isTooltip(col.value)">
{{ col.value }}
</q-tooltip>
</q-td>
methods: {
isTooltip(col) {
return col.length > 10
}
}