Skip to content

Tooltip 工具提示

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

基础用法

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

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

主题

Tooltip 组件内置了两个主题:darklight

通过设置 effect 来修改主题,默认值为 dark

更多内容的文字提示

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

用具名插槽 content,替代 tooltip 中的 content 属性。

过渡动画

Tooltip 组件支持多种过渡动画效果,通过 transition 属性可以定制显隐的动画效果。

基础动画

缩放动画

滑动动画

特殊效果

显示与隐藏的延迟

可以设置显示和隐藏的延迟时间。

手动控制

可以通过 visible 属性手动控制提示的显示。

trigger 设置为 manual 来手动控制提示的显示。

触发方式

可以设置不同的触发方式。

通过 trigger 属性设置触发方式,支持 hoverclickfocusmanual

禁用状态

可以通过 disabled 属性禁用 Tooltip。

API

Props

属性名说明类型默认值
content显示的内容,也可被 slot#content 覆盖string
raw-content内容是否为 HTML 字符串booleanfalse
placementTooltip 组件出现的位置TooltipPlacementbottom
trigger触发方式hover | click | focus | manualhover
effect主题,内置了 dark / light 两种dark | lightdark
show-arrow是否显示箭头booleantrue
disabled是否禁用booleanfalse
show-delay显示延迟,单位毫秒number0
hide-delay隐藏延迟,单位毫秒number200
auto-close自动关闭延迟,单位毫秒,设置为 0 表示不自动关闭number0
offset出现位置的偏移量[number, number][0, 8]
transition过渡动画TooltipTransitionfade
append-toTooltip 挂载的容器string | HTMLElementbody
popper-class为 Tooltip 的 popper 添加类名string
popper-style为 Tooltip 的 popper 添加样式string | CSSProperties
visible / v-model:visible是否可见boolean
max-width最大宽度string | number200px
hide-on-empty内容为空时是否隐藏booleantrue
hide-on-click-outside点击外部时是否关闭booleantrue
hide-on-escape按下 ESC 键时是否关闭booleantrue
virtual-triggering是否启用虚拟触发booleanfalse
virtual-ref虚拟触发元素HTMLElement

Events

名称参数说明
update:visible(visible: boolean) => void显示状态改变时触发
before-show() => void显示前触发
show() => void显示后触发
before-hide() => void隐藏前触发
hide() => void隐藏后触发

Slots

名称说明
default触发 Tooltip 显示的元素
content自定义内容

Methods

名称说明类型
show显示 Tooltip() => void
hide隐藏 Tooltip() => void
toggle切换 Tooltip 显示状态() => void
updatePopper更新 Tooltip 位置() => void
destroy销毁 Tooltip() => void

类型定义

TooltipPlacement 位置类型

说明位置示意
top顶部居中⬆️
top-start顶部左对齐↖️
top-end顶部右对齐↗️
bottom底部居中⬇️
bottom-start底部左对齐↙️
bottom-end底部右对齐↘️
left左侧居中⬅️
left-start左侧上对齐↖️
left-end左侧下对齐↙️
right右侧居中➡️
right-start右侧上对齐↗️
right-end右侧下对齐↘️

TooltipTransition 动画类型

说明动画效果
fade基础淡入淡出效果💫 透明度变化
fade-slide淡入淡出 + 水平滑动效果💫↔️ 透明度 + 水平移动
fade-bottom淡入淡出 + 垂直滑动效果💫↕️ 透明度 + 垂直移动
fade-scale淡入淡出 + 缩放效果💫🔍 透明度 + 缩放
zoom-fade精细缩放淡入淡出效果🔍💫 精细缩放 + 透明度
zoom-out缩放到零点效果🔍➡️⚫ 缩放至消失
slide-up向上滑动效果⬆️ 向上移动
slide-down向下滑动效果⬇️ 向下移动
slide-left向左滑动效果⬅️ 向左移动
slide-right向右滑动效果➡️ 向右移动
bounce弹跳效果🏀 弹性动画
elastic弹性效果🎯 弹性回弹

TypeScript 类型定义

typescript
type TooltipPlacement =
  | "top"
  | "top-start"
  | "top-end"
  | "bottom"
  | "bottom-start"
  | "bottom-end"
  | "left"
  | "left-start"
  | "left-end"
  | "right"
  | "right-start"
  | "right-end";

type TooltipTransition =
  | "fade"
  | "fade-slide"
  | "fade-bottom"
  | "fade-scale"
  | "zoom-fade"
  | "zoom-out"
  | "slide-up"
  | "slide-down"
  | "slide-left"
  | "slide-right"
  | "bounce"
  | "elastic";

基于 MIT 协议发布