Popover 气泡卡片
数据展示
点击/悬停触发的浮层卡片,可承载富内容(表单、列表、图表),比 Tooltip 更丰富。
何时使用
点击触发元素弹出的浮动层,承载轻量操作或信息。
代码示例
基础用法
tsx
import { Popover, PopoverTrigger, PopoverContent, PopoverHeader, PopoverTitle, PopoverDescription } from "@/components/ui/popover"
export function Basic() {
return (
<Popover>
<PopoverTrigger>Open</PopoverTrigger>
<PopoverContent>
<PopoverHeader>
<PopoverTitle>Title</PopoverTitle>
<PopoverDescription>Description.</PopoverDescription>
</PopoverHeader>
</PopoverContent>
</Popover>
)
}API / Props
Popover
| Prop | Type | Default | 说明 |
|---|---|---|---|
className | string | — | 自定义样式类名 |
| ...rest | React.HTMLAttributes | — | 透传原生 DOM 属性 |
注意事项
- Client Component: 使用
"use client",依赖 React hooks/状态,需在客户端渲染。 - 复合组件: 包含 5 个子组件(PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger),使用组合模式按需导入。
- Base UI: 基于
@base-ui/react无头(headless)原语构建,无障碍(a11y)开箱即用。
📘 完整交互式示例与控件属性请查看 Storybook 文档。