Tooltip

Display prompt information for mouse hover.

TIP

This component requires the <client-only></client-only> wrap when used in SSR (eg: Nuxt) and SSG (eg: VitePress).

Basic usage

Tooltip has 9 placements.

Theme

Tooltip has two built-in themes: dark and light.

TIP

To use customized theme, you will have to known where your tooltip is rendered into, if your tooltip is rendered into the root element, you will need to set the css rule globally.

It is recommended that not using linear gradient background color when you using customized theme and showing the arrow at the same time, because the popup arrow and the content are two different elements, the popup arrow's style needs to be set individually, and when it comes to the gradient background color, it might seem a little bit weird.

More Content

Display multiple lines of text and set their format.

Advanced usage

In addition to basic usages, there are some attributes that allow you to customize your own:

transition attribute allows you to customize the animation in which the tooltip shows or hides, and the default value is el-fade-in-linear.

disabled attribute allows you to disable tooltip. You just need set it to true.

In fact, Tooltip is an extension based on ElPopper, you can use any attribute that are allowed in ElPopper.

TIP

The router-link component is not supported in tooltip, please use vm.$router.push.

Disabled form elements are not supported for Tooltip, more information can be found at MDN. You need to wrap the disabled form element with a container element for Tooltip to work.

HTML as content

The content attribute can be set to HTML string.

WARNING

Although content property supports HTML strings, dynamically rendering arbitrary HTML on your website can be very dangerous because it can easily lead to XSS attacks. So when raw-content is on, please make sure content is trusted, and never assign user-provided content.

Virtual triggering

Sometimes we want to render the tooltip on some other trigger element, we can separate the trigger and the content.

TIP

Virtual triggering tooltip is controlled component, so that you will have to control the visibility of the tooltip your own when this happens, YOU WILL NOT be able to close the tooltip by clicking somewhere else.

Singleton

Tooltip can also be singleton, which means you can have multiple trigger with only one tooltip instance, this function is implemented based on Virtual triggering

TIP

Known issue: when using singleton, the popup will be bouncing out from unexpected places

Controlled

Tooltip can be controlled by the parent component, by using :visible you can implement two way binding.

Animations

Tooltip can be customized animated, you can set the desired animation function as you desired.

API

Attributes

NameDescriptionTypeDefault
append-towhich element the tooltip CONTENT appends toCSSSelector / HTMLElement
effectTooltip theme, built-in theme: dark / lightenumdark
contentdisplay content, can be overridden by slot#contentstring''
raw-contentwhether content is treated as HTML stringbooleanfalse
placementposition of Tooltipenumbottom
visible / v-model:visiblevisibility of Tooltipboolean
disabledwhether Tooltip is disabledboolean
offsetoffset of the Tooltipnumber12
transitionanimation namestring
popper-optionspopper.js parametersobjectrefer to popper.js doc{}
show-afterdelay of appearance, in millisecondnumber0
show-arrowwhether the tooltip content has an arrowbooleantrue
hide-afterdelay of disappear, in millisecondnumber200
auto-closetimeout in milliseconds to hide tooltipnumber0
popper-classcustom class name for Tooltip's popperstring
enterablewhether the mouse can enter the tooltipbooleantrue
teleportedwhether tooltip content is teleported, if true it will be teleported to where append-to setsbooleantrue
triggerHow should the tooltip be triggered (to show)enumhover
virtual-triggeringIndicates whether virtual triggering is enabledboolean
virtual-refIndicates the reference element to which the tooltip is attachedHTMLElement
trigger-keysWhen you click the mouse to focus on the trigger element, you can define a set of keyboard codes to control the display of tooltip through the keyboardArray['Enter','Space']
persistentwhen tooltip inactive and persistent is false , popconfirm will be destroyedboolean
aria-label a11ysame as aria-labelstring

Slots

NameDescription
defaultTooltip triggering & reference element
contentcustomize content

Exposes

NameDescriptionType
popperRefel-popper component instanceobject
contentRefel-tooltip-content component instanceobject
isFocusInsideContentvalidate current focus event is trigger inside el-tooltip-contentFunction
updatePopperupdate el-popper component instanceFunction
onOpenexpose onOpen function to mange el-tooltip open stateFunction
onCloseexpose onClose function to mange el-tooltip open stateFunction
hideexpose hide functionFunction