近期项目要求实现个这么个功能,鼠标放上,显示提示文字信息。

第一反应肯定是去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的方式,自我感觉,是非常笨重的,此处,若有更好的提议,欢迎留言。
最后,附一张 实现效果图

clipboard.png


yedu
112 声望2 粉丝