Skip to content

Tooltip

悬浮提示,需在应用根部包裹 reka-ui 的 TooltipProvider。Nuxt 项目通过 @tripo3d/design/nuxt 模块自动处理。

Anatomy

  • Tooltip提示根,管理打开状态与延迟
    • TooltipTrigger触发元素,默认渲染为 <button>
    • TooltipContent浮层内容,支持方向与偏移配置

基本用法

默认

不同方向

side

通过 TooltipContent.side 控制弹出方向。

触摸设备支持

touchable

启用后,触摸设备可通过点击 trigger 打开/关闭,桌面端保持 hover 体验。

API

Tooltip Props

名称 类型 默认值 说明
openboolean受控打开状态
defaultOpenboolean非受控初始状态
delayDurationnumber0hover 后显示延迟(ms)
touchablebooleanfalse启用触摸设备的点击触发

Tooltip Events

事件 Payload 说明
update:open(value: boolean)打开状态变化

TooltipContent Props

名称 类型 默认值 说明
side'top' | 'right' | 'bottom' | 'left''top'弹出方向
sideOffsetnumber12与触发器的距离
collisionPaddingnumber12与视口边缘的安全距离
classstring浮层 class

其余 props 透传至 reka-ui TooltipContent,详见 reka-ui 文档

TooltipTrigger Props

名称 类型 默认值 说明
asAsTag'button'渲染的 HTML 标签
asChildboolean将子元素作为根元素渲染

可访问性

  • 基于 reka-ui,TooltipTrigger 默认渲染为 <button>,提示内容关联到 trigger 的 aria-describedby
  • 支持键盘:聚焦 trigger 自动打开,Esc 关闭
  • 使用 delayDuration 避免悬浮闪烁;需要即时反馈时设为 0
  • 需在应用根部挂载 TooltipProvider(Nuxt 项目自动完成)

基于 MIT 协议发布(内部使用)