提示信息
提示信息用于显示简短、信息性的消息,当用户与元素交互时出现。
安装
上述命令仅用于单独安装。如果 @heroui/react
已全局安装,则可以跳过此步骤。
导入
对于单独安装,请注意您应该将
./node_modules/@heroui/theme/dist/components/popover.js
添加到您的tailwind.config.js
文件中,因为提示信息复用了弹出框样式。
用法
带箭头
颜色
位置
偏移量
受控
带延迟
您可以使用 delay
和 closeDelay
属性控制提示信息的打开和关闭延迟。
悬停在第二个按钮上会立即显示提示信息。如果您等待一段时间延迟后再悬停在另一个元素上,则延迟会重新开始。
自定义内容
自定义动画
提示信息组件提供了 motionProps
属性来自定义进入/退出动画。
在这里了解更多关于 Framer motion variants 的信息。这里。
插槽
- base: 主要的提示信息插槽,它包裹提示信息内容。
- arrow: 箭头插槽,它包裹提示信息箭头,箭头的放置位置基于提示信息的位置,例如
data-[placement=top]:...
。
自定义样式
您可以通过将自定义 Tailwind CSS 类传递给组件插槽来自定义 Tooltip
组件。
数据属性
Tooltip
组件在 base
元素上具有以下属性
- data-open: 当 tooltip 打开时。基于 tooltip 状态。
- data-placement: tooltip 的位置。基于
placement
属性。箭头元素会基于此属性定位。 - data-disabled: 当 tooltip 被禁用时。基于
isDisabled
属性。
无障碍性
- 键盘焦点管理和跨浏览器标准化。
- 悬停管理和跨浏览器标准化。
- 屏幕阅读器标签支持 (aria-describedby)。
- 通过 ARIA 作为 tooltip 暴露给辅助技术。
- 匹配原生 tooltip 行为,首次 tooltip 悬停有延迟,后续 tooltip 无延迟。
API
Tooltip Props
属性 | 类型 | 默认值 |
children* |
| |
content |
| |
size |
| "md" |
color |
| "default" |
radius |
| "md" |
shadow |
| "sm" |
placement |
| "top" |
delay |
| "0" |
closeDelay |
| "500" |
isOpen |
| |
defaultOpen |
| |
offset |
| "7" |
containerPadding |
| "12" |
crossOffset |
| "0" |
showArrow |
| false |
shouldFlip |
| true |
triggerScaleOnOpen |
| true |
shouldBlockScroll |
| true |
isKeyboardDismissDisabled |
| false |
isDismissable |
| false |
shouldCloseOnBlur |
| true |
motionProps |
| |
portalContainer |
| "document.body" |
updatePositionDeps |
| "[]" |
isDisabled |
| false |
disableAnimation |
| false |
classNames |
|
Tooltip Events
属性 | 类型 | 默认值 |
onOpenChange |
| |
shouldCloseOnInteractOutside |
| |
onClose |
|