Back to Element Plus

Popover

docs/en-US/component/popover.md

2.13.716.0 KB
Original Source

Popover

Placement

Popover has 9 placements.

:::demo Use attribute content to set the display content when hover. The attribute placement determines the position of the Popover. Its value is [orientation]-[alignment] with four orientations top, left, right, bottom and three alignments start, end, null, and the default alignment is null. Take placement="left-end" for example, Popover will display on the left of the element which you are hovering and the bottom of the Popover aligns with the bottom of the element.

popover/placement

:::

Basic usage

Popover is built with ElTooltip. So for some duplicated attributes, please refer to the documentation of Tooltip.

:::demo The trigger attribute is used to define how popover is triggered: hover, click, focus or contextmenu . If you want to manually control it, you can set :visible.

popover/basic-usage

:::

Virtual triggering

Like Tooltip, Popover can be triggered by virtual elements, if your use case includes separate the triggering element and the content element, you should definitely use the mechanism, normally we use #reference to place our triggering element, with triggering-element API you can set your triggering element anywhere you like, but notice that the triggering element should be an element that accepts mouse and keyboard event.

:::warning

v-popover is about to be deprecated, please use virtual-ref as alternative.

:::

:::demo

popover/virtual-triggering

:::

Rich content

Other components/elements can be nested in popover. Following is an example of nested table.

:::demo replace the content attribute with a default slot.

popover/nested-information

:::

Nested operation

Of course, you can nest other operations. It's more light-weight than using a dialog.

:::demo

popover/nested-operation

:::

Directive

You can still using popover in directive way but this is not recommended anymore since this makes your application complicated, you may refer to the virtual triggering for more information.

:::demo

popover/directive-usage

:::

API

Attributes

NameDescriptionTypeDefault
triggerhow the popover is triggered, not valid in controlled mode^[enum]'click' | 'focus' | 'hover' | 'contextmenu' / ^[array]Array<'click' | 'focus' | 'hover' | 'contextmenu'>hover
trigger-keys ^(2.9.8)When you click the mouse to focus on the trigger element, you can define a set of keyboard codes to control the display of popover through the keyboard, not valid in controlled mode^[Array]['Enter','Space']
titlepopover title^[string]
effectTooltip theme, built-in theme: dark / light^[enum]'dark' | 'light' / ^[string]light
contentpopover content, can be replaced with a default slot^[string]''
widthpopover width^[string] / ^[number]150
placementpopover placement^[enum]'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end'bottom
disabledwhether Popover is disabled^[boolean]false
visible / v-model:visiblewhether popover is visible^[boolean] / ^[null]null
offsetpopover offset, Popover is built with Tooltip, offset of Popover is undefined, but offset of Tooltip is 12^[number]undefined
transitionpopover transition animation, the default is el-fade-in-linear^[string]
show-arrowwhether a tooltip arrow is displayed or not. For more info, please refer to ElPopper^[boolean]true
popper-optionsparameters for popper.js^[object]{modifiers: [{name: 'computeStyles',options: {gpuAcceleration: false}}]}
popper-classcustom class name for popover^[string]
popper-stylecustom style for popover^[string] / ^[object]
show-afterdelay of appearance, in millisecond, not valid in controlled mode^[number]0
hide-afterdelay of disappear, in millisecond, not valid in controlled mode^[number]200
auto-closetimeout in milliseconds to hide tooltip, not valid in controlled mode^[number]0
tabindextabindex of Popover^[number] / ^[string]0
teleportedwhether popover dropdown is teleported to the body^[boolean]true
append-to ^(2.9.10)which element the popover CONTENT appends to^[CSSSelector] / ^[HTMLElement]body
persistentwhen popover inactive and persistent is false , popover will be destroyed^[boolean]true
virtual-triggeringIndicates whether virtual triggering is enabled^[boolean]
virtual-refIndicates the reference element to which the popover is attached^[HTMLElement]
tooltipInherits all attributes from Tooltip

Slots

NameDescriptionType
defaultcontent of popover, version ^(2.13.4) and later can receive the hide parameter.^[object]{hide: () => void}
referenceHTML element that triggers popover, only a single root element is accepted-

Events

NameDescriptionType
showtriggers when popover shows^[Function]() => void
before-entertriggers when the entering transition before^[Function]() => void
after-entertriggers when the entering transition ends^[Function]() => void
hidetriggers when popover hides^[Function]() => void
before-leavetriggers when the leaving transition before^[Function]() => void
after-leavetriggers when the leaving transition ends^[Function]() => void

Exposes

NameDescriptionType
hidehide popover^[Function]() => void