给Tooltip添加鼠标移入事件mouseenter
,当内容没有溢出时阻止鼠标事件。
<a-tooltip placement="topLeft" :title="list" @mouseenter="showTooltip">
<div class="tag-container">
<span v-for="(item, index) in list" :key="index">
<a-tag style="margin-bottom:6px;">{{ item }}</a-tag>
</span>
</div>
</a-tooltip>
补充知识点:
clientHeight :元素像素实际高度。(内容有溢出时,理解为可视区域高度)
scollHeight:元素内容高度,包括溢出的不可见内容。(可视区域高度+被隐藏区域高度,当内容没有溢出时clientHeight ===> scollHeight )
写一个方法阻止鼠标事件,及时页面有多个Tooltip也可以重复使用该方法!
// 控制Tooltip的显示与隐藏
showTooltip(e){
if(e.target.clientHeight === e.target.scollHeight){
// 阻止鼠标事件
e.target.style.pointerEvents = 'none'
}
}
样式:内容垂直排列,最多显示2行,所以在上面代码中通过比较高度
判断内容是否溢出
<style>
.tag-container {
display: -webkit-box; /* 设置为弹性盒子*/
-webkit-box-orient: vertical; /* 垂直方向排列*/
-webkit-line-clamp: 2; /* 显示行数*/
overflow: hidden; /*隐藏溢出内容 */
padding: 0 8px;
}
</style>