近期项目要求实现个这么个功能,鼠标放上,显示提示文字信息。html
第一反应确定是去element-ui啊,demo很友好,很快就实现了。但不对啊,我是在table中使用,table的每一行tr都有hover效果的,鼠标放在tooltip区域内,hover效果就消失了。
这个问题,也不是大问题,但感受别扭。vue
网上搜了一下,没有相似问题。
正好本身有点时间,那就本身来!git
element-ui上,api上有参照连接:https://popper.js.org/tooltip...。github
下面步骤就是详解,嵌入项目步骤。实现过程比较粗糙,若有更好方法,欢迎留言。
1.去gitHub上安装
https://github.com/FezVrasta/...
我是vue项目,因此我采用这个命令 npm install tooltip.js --savenpm
2.引入
import Tooltip from 'tooltip.js'element-ui
3.封装组件
<template>
<div class="myHoverTooltip">api
<div :id="id"> <slot></slot> </div> <div :id="infoId" class="myHoverTooltip-content"> <slot name="content"> </slot> </div>
</div>
</template>ui
import Tooltip from 'tooltip.js'
export default {this
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 }); } }
}spa
4.使用方法
<myToolHover :id="'myButton2'+index" :infoId="'myInfo2'+index">
<i class="iconfont iconshuaxin"></i> <div slot="content"> 从新监测 </div> </myToolHover>
说明: 为了获取reference元素和显示内容,我采用了传入id的方式,自我感受,是很是笨重的,此处,如有更好的提议,欢迎留言。
最后,附一张 实现效果图