近期项目要求实现个这么个功能,鼠标放上,显示提示文字信息。
第一反应肯定是去element-ui啊,demo很友好,很快就实现了。但不对啊,我是在table中使用,table的每一行tr都有hover效果的,鼠标放在tooltip区域内,hover效果就消失了。
这个问题,也不是大问题,但感觉别扭。
网上搜了一下,没有类似问题。
正好自己有点时间,那就自己来!
element-ui上,api上有参照链接:https://popper.js.org/tooltip...。
下面步骤就是详解,嵌入项目步骤。实现过程比较粗糙,如有更好方法,欢迎留言。
1.去gitHub上安装
https://github.com/FezVrasta/...
我是vue项目,所以我采用这个命令 npm install tooltip.js --save
2.引入
import Tooltip from 'tooltip.js'
3.封装组件
<template>
<div class="myHoverTooltip">
<div :id="id">
<slot></slot>
</div>
<div :id="infoId" class="myHoverTooltip-content">
<slot name="content">
</slot>
</div>
</div>
</template>
import Tooltip from 'tooltip.js'
export default {
props: {
id: '',
infoId: '',
placement: {
type: String,
default: 'top'
},
},
data() {
return {
}
},
mounted () {
this.render()
},
methods: {
render () {
let reference = document.getElementById(this.id).childNodes[0]
let info = document.getElementById(this.infoId).innerHTML
new Tooltip(reference, {
placement: this.placement, // or bottom, left, right, and variations
html: true,
title: info
});
}
}
}
4.使用方法
<myToolHover :id="'myButton2'+index" :infoId="'myInfo2'+index">
<i class="iconfont iconshuaxin"></i>
<div slot="content">
重新监测
</div>
</myToolHover>
说明: 为了获取reference元素和显示内容,我采用了传入id的方式,自我感觉,是非常笨重的,此处,若有更好的提议,欢迎留言。
最后,附一张 实现效果图
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。