Tooltip 文字提示

常用于展示鼠标 hover 时的提示信息。

基础用法

在这里我们提供 9 种不同方向的展示方式,可以通过以下完整示例来理解,选择你要的效果。

使用content属性来决定hover时的提示信息。由placement属性决定展示效果:placement属性值为:方向-对齐位置;四个方向:topleftrightbottom;三种对齐位置:startend,默认为空。如placement="left-end",则提示信息出现在目标元素的左侧,且提示信息的底部与目标元素的底部对齐。

 1 <div class="box">
 2   <div class="top">
 3     <el-tooltip class="item" effect="dark" content="Top Left 提示文字" placement="top-start">
 4       <el-button>上左</el-button>
 5     </el-tooltip>
 6     <el-tooltip class="item" effect="dark" content="Top Center 提示文字" placement="top">
 7       <el-button>上边</el-button>
 8     </el-tooltip>
 9     <el-tooltip class="item" effect="dark" content="Top Right 提示文字" placement="top-end">
10       <el-button>上右</el-button>
11     </el-tooltip>
12   </div>
13   <div class="left">
14     <el-tooltip class="item" effect="dark" content="Left Top 提示文字" placement="left-start">
15       <el-button>左上</el-button>
16     </el-tooltip>
17     <el-tooltip class="item" effect="dark" content="Left Center 提示文字" placement="left">
18       <el-button>左边</el-button>
19     </el-tooltip>
20     <el-tooltip class="item" effect="dark" content="Left Bottom 提示文字" placement="left-end">
21       <el-button>左下</el-button>
22     </el-tooltip>
23   </div>
24 
25   <div class="right">
26     <el-tooltip class="item" effect="dark" content="Right Top 提示文字" placement="right-start">
27       <el-button>右上</el-button>
28     </el-tooltip>
29     <el-tooltip class="item" effect="dark" content="Right Center 提示文字" placement="right">
30       <el-button>右边</el-button>
31     </el-tooltip>
32     <el-tooltip class="item" effect="dark" content="Right Bottom 提示文字" placement="right-end">
33       <el-button>右下</el-button>
34     </el-tooltip>
35   </div>
36   <div class="bottom">
37     <el-tooltip class="item" effect="dark" content="Bottom Left 提示文字" placement="bottom-start">
38       <el-button>下左</el-button>
39     </el-tooltip>
40     <el-tooltip class="item" effect="dark" content="Bottom Center 提示文字" placement="bottom">
41       <el-button>下边</el-button>
42     </el-tooltip>
43     <el-tooltip class="item" effect="dark" content="Bottom Right 提示文字" placement="bottom-end">
44       <el-button>下右</el-button>
45     </el-tooltip>
46   </div>
47 </div>
48 
49 <style>
50   .box {
51     width: 400px;
52 
53     .top {
54       text-align: center;
55     }
56 
57     .left {
58       float: left;
59       width: 60px;
60     }
61 
62     .right {
63       float: right;
64       width: 60px;
65     }
66 
67     .bottom {
68       clear: both;
69       text-align: center;
70     }
71 
72     .item {
73       margin: 4px;
74     }
75 
76     .left .el-tooltip__popper,
77     .right .el-tooltip__popper {
78       padding: 8px 10px;
79     }
80   }
81 </style>
View Code

主题

Tooltip 组件提供了两个不同的主题:darklight

通过设置effect属性来改变主题,默认为dark

1 <el-tooltip content="Top center" placement="top">
2   <el-button>Dark</el-button>
3 </el-tooltip>
4 <el-tooltip content="Bottom center" placement="bottom" effect="light">
5   <el-button>Light</el-button>
6 </el-tooltip>
View Code

更多 Content

展示多行文本或者是设置文本内容的格式

用具名 slot 分发content,替代tooltip中的content属性。

1 <el-tooltip placement="top">
2   <div slot="content">多行信息<br/>第二行信息</div>
3   <el-button>Top center</el-button>
4 </el-tooltip>
View Code

高级扩展

除了这些基本设置外,还有一些属性可以让使用者更好的定制自己的效果:

transition 属性可以定制显隐的动画效果,默认为fade-in-linear。 如果需要关闭 tooltip 功能,disabled 属性可以满足这个需求,它接受一个Boolean,设置为true即可。

事实上,这是基于 Vue-popper 的扩展,你可以自定义任意 Vue-popper 中允许定义的字段。 当然 Tooltip 组件实际上十分强大,文末的API文档会做一一说明。

1 <template>
2   <el-tooltip :disabled="disabled" content="点击关闭 tooltip 功能" placement="bottom" effect="light">
3     <el-button @click="disabled = !disabled">点击{{disabled ? '开启' : '关闭'}} tooltip 功能</el-button>
4   </el-tooltip>
5 </template>
View Code

tooltip 内不支持 router-link 组件,请使用 vm.$router.push 代替。

tooltip 内不支持 disabled form 元素,参考MDN,请在 disabled form 元素外层添加一层包裹元素。

Attributes

参数说明类型可选值默认值
effect 默认提供的主题 String dark/light dark
content 显示的内容,也可以通过 slot#content 传入 DOM String
placement Tooltip 的出现位置 String top/top-start/top-end/bottom/bottom-start/bottom-end/left/left-start/left-end/right/right-start/right-end bottom
value(v-model) 状态是否可见 Boolean false
disabled Tooltip 是否可用 Boolean false
offset 出现位置的偏移量 Number 0
transition 定义渐变动画 String el-fade-in-linear
visible-arrow 是否显示 Tooltip 箭头,更多参数可见Vue-popper Boolean true
popper-options popper.js 的参数 Object 参考 popper.js 文档 { boundariesElement: 'body', gpuAcceleration: false }
open-delay 延迟出现,单位毫秒 Number 0
manual 手动控制模式,设置为 true 后,mouseenter 和 mouseleave 事件将不会生效 Boolean false
popper-class 为 Tooltip 的 popper 添加类名 String
enterable 鼠标是否可进入到 tooltip 中 Boolean true
hide-after Tooltip 出现后自动隐藏延时,单位毫秒,为 0 则不会自动隐藏 number 0
posted @ 2018-03-14 07:44  大姐姐小姐姐  阅读(17588)  评论(0编辑  收藏  举报