Popover
The floating card popped by clicking or hovering.
When To Use
A simple popup menu to provide extra information or operations.
Comparing with Tooltip, besides information Popover card can also provide action elements like links and buttons.
Examples
Three ways to trigger
Mouse to click, focus and move in.
<template>
<div>
<a-popover title="Title" trigger="hover">
<template slot="content">
<p class="mb-0">Content</p>
<p class="mb-0">Content</p>
</template>
<a-button type="primary">
Hover me
</a-button>
</a-popover>
<a-popover title="Title" trigger="focus">
<template slot="content">
<p class="mb-0">Content</p>
<p class="mb-0">Content</p>
</template>
<a-button type="primary">
Focus me
</a-button>
</a-popover>
<a-popover title="Title" trigger="click">
<template slot="content">
<p class="mb-0">Content</p>
<p class="mb-0">Content</p>
</template>
<a-button type="primary">
Click me
</a-button>
</a-popover>
</div>
</template>
Placement
There are 12 placement options available.
<template>
<div id="components-popover-demo-placement">
<div :style="{ marginLeft: `${buttonWidth}px`, whiteSpace: 'nowrap' }">
<a-popover placement="topLeft">
<template slot="content">
<p class="mb-0">Content</p>
<p class="mb-0">Content</p>
</template>
<template slot="title">
<span>Title</span>
</template>
<a-button>TL</a-button>
</a-popover>
<a-popover placement="top">
<template slot="content">
<p class="mb-0">Content</p>
<p class="mb-0">Content</p>
</template>
<template slot="title">
<span>Title</span>
</template>
<a-button>Top</a-button>
</a-popover>
<a-popover placement="topRight">
<template slot="content">
<p class="mb-0">Content</p>
<p class="mb-0">Content</p>
</template>
<template slot="title">
<span>Title</span>
</template>
<a-button>TR</a-button>
</a-popover>
</div>
<div :style="{ width: `${buttonWidth}px`, float: 'left' }">
<a-popover placement="leftTop">
<template slot="content">
<p class="mb-0">Content</p>
<p class="mb-0">Content</p>
</template>
<template slot="title">
<span>Title</span>
</template>
<a-button>LT</a-button>
</a-popover>
<a-popover placement="left">
<template slot="content">
<p class="mb-0">Content</p>
<p class="mb-0">Content</p>
</template>
<template slot="title">
<span>Title</span>
</template>
<a-button>Left</a-button>
</a-popover>
<a-popover placement="leftBottom">
<template slot="content">
<p class="mb-0">Content</p>
<p class="mb-0">Content</p>
</template>
<template slot="title">
<span>Title</span>
</template>
<a-button>LB</a-button>
</a-popover>
</div>
<div :style="{ width: `${buttonWidth}px`, marginLeft: `${buttonWidth * 4 + 24}px` }">
<a-popover placement="rightTop">
<template slot="content">
<p class="mb-0">Content</p>
<p class="mb-0">Content</p>
</template>
<template slot="title">
<span>Title</span>
</template>
<a-button>RT</a-button>
</a-popover>
<a-popover placement="right">
<template slot="content">
<p class="mb-0">Content</p>
<p class="mb-0">Content</p>
</template>
<template slot="title">
<span>Title</span>
</template>
<a-button>Right</a-button>
</a-popover>
<a-popover placement="rightBottom">
<template slot="content">
<p class="mb-0">Content</p>
<p class="mb-0">Content</p>
</template>
<template slot="title">
<span>Title</span>
</template>
<a-button>RB</a-button>
</a-popover>
</div>
<div :style="{ marginLeft: `${buttonWidth}px`, clear: 'both', whiteSpace: 'nowrap' }">
<a-popover placement="bottomLeft">
<template slot="content">
<p class="mb-0">Content</p>
<p class="mb-0">Content</p>
</template>
<template slot="title">
<span>Title</span>
</template>
<a-button>BL</a-button>
</a-popover>
<a-popover placement="bottom">
<template slot="content">
<p class="mb-0">Content</p>
<p class="mb-0">Content</p>
</template>
<template slot="title">
<span>Title</span>
</template>
<a-button>Bottom</a-button>
</a-popover>
<a-popover placement="bottomRight">
<template slot="content">
<p class="mb-0">Content</p>
<p class="mb-0">Content</p>
</template>
<template slot="title">
<span>Title</span>
</template>
<a-button>BR</a-button>
</a-popover>
</div>
</div>
</template>
<script>
export default {
data() {
return {
buttonWidth: 70,
};
},
};
</script>
Looking for more Ant Design Vue Popover? Please check the official docs.