Tooltip
基于 Base UI Tooltip,组合 Provider、Root、Trigger、Portal、Positioner 和 Popup。默认 provider 延迟为 250ms,popup 会自动避开 trigger 周围的碰撞边界。
@neumorphism-ui/tooltip预览
将鼠标悬停在按钮上,或把焦点移到按钮。
安装
安装: tooltip
npx shadcn@latest add @neumorphism-ui/tooltipCLI 会依次处理 npm 依赖、base token、utils 和组件源码。
首次使用此 Registry?请先完成 namespace 配置 。
用法
用法: 安装
npx shadcn@latest add @neumorphism-ui/button @neumorphism-ui/tooltipImport
Tooltip import 代码
import { Button } from "@/components/ui/button"
import {
Tooltip,
TooltipContent,
TooltipProvider,
TooltipTrigger,
} from "@/components/ui/tooltip"Example
Tooltip 用法代码
<TooltipProvider>
<Tooltip>
<TooltipTrigger
render={<Button size="icon" aria-label="打开设置" />}
>
⚙
</TooltipTrigger>
<TooltipContent side="top">
设置
</TooltipContent>
</Tooltip>
</TooltipProvider>API 参考
| 组件 | 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
TooltipProvider | delay | number | 250 | pointer hover 后打开 tooltip 的延迟时间(ms)。 |
Tooltip | open / defaultOpen | boolean | false | 受控的打开状态或非受控初始状态。 |
Tooltip | onOpenChange | (open: boolean) => void | — | 打开状态变化时调用。 |
TooltipTrigger | render | ReactElement | (props, state) => ReactElement | — | 将 tooltip trigger 行为组合到按钮或链接上。 |
TooltipContent | side / align | "top" | "right" | "bottom" | "left" / "start" | "center" | "end" | "top" / "center" | 相对于 trigger 设置 popup 的位置。 |
TooltipContent | sideOffset | number | 8 | 设置 trigger 与 popup 之间的间距。 |
无障碍
- 01
Tooltip 不能替代 trigger 的无障碍名称,因此图标按钮仍需单独提供 aria-label。
- 02
内容应简短且仅作辅助,不要把必要说明或错误消息只放在 Tooltip 中。
- 03
Base UI 会让 Tooltip 在 hover 和 keyboard focus 时打开,并支持用 Escape 关闭。