UI Design System
build dev

Tooltip

补充短说明或不可见标签。中文惯用名:文字提示。
稳定本期新增已接入

元信息

字段值
规范 IDcomponent.tooltip
名称Tooltip
二级分类通用(general)
用途补充短说明或不可见标签
描述中文惯用名:文字提示。

预览

静态结构:Base UI Tooltip(data-slot="tooltip")——children 为触发元素,经 span(data-slot="tooltip-trigger-wrap")接入 Trigger(DSL 适配器不透传未知 props,须由包装接住触发器合并的 aria / ref / 事件);提示浮层 data-slot="tooltip-content" 走 Portal + Positioner(缺省 side=top、align=center、sideOffset=4),反色底 bg-primary + text-xs,open / closed 由 data-open / data-closed 变体驱动;className / style 挂在浮层而非触发元素。

DSL 结构

DslNode
{
  "type": "Tooltip",
  "props": {
    "content": "这里是提示内容"
  },
  "children": [
    {
      "type": "Button",
      "props": {
        "text": "悬浮查看提示",
        "variant": "default"
      }
    }
  ]
}

何时用

何时使用

  • 补充短说明:图标按钮含义、字段口径、缩写全称。
  • 展示被截断文本的完整内容:列表单元格、标签溢出时。
  • 给出不可见标签:纯图标入口的可访问名称来源之一。

何时不用

  • 需要承载复杂内容或交互(多行、按钮、表单、链接):使用 Popover。
  • 需要用户确认或输入:使用 Popconfirm / Dialog / Drawer。
  • 承载关键信息:触屏与键盘用户可能无法触发悬浮,关键内容必须直接可见。

变体

变体视觉形态适用场景
图标按钮提示hover 图标上方浮出反色小气泡无文字的工具栏 / 表头按钮说明
文本截断提示hover 被截断文本展示全文列表单元格、标签、路径
表单字段说明hover 标签浮出字段口径字段含义、格式要求补充

API 属性

属性类型默认值说明
contentstring—提示文案(纯文本,不支持 DSL 子树)
childrenDslNode[]—触发元素(DSL 子树,经 Renderer children 机制渲染)
className / stylestring / CSSProperties—通用:挂在提示浮层根节点(不是触发元素)的 class 合并 / 内联样式

使用规范

  • 文案一句话说清,不加句号、不放交互元素。
  • 触发元素必须可悬浮且可聚焦(Button、Icon 等),纯文本裸节点在键盘下不可达。
  • 不嵌套 Tooltip,也不在 Tooltip 里放链接或按钮。
  • 关键信息直接可见,Tooltip 只做锦上添花。

正例

  • ✓ 工具栏图标按钮:Tooltip content="下载 CSV" 包裹 Button(icon 通道)。
  • ✓ 字段标签:Tooltip 说明「结算周期」的口径后再放输入控件。

反例

  • ✕ 把表单或操作按钮放进 Tooltip 内容(应使用 Popover)。
  • ✕ 依赖 Tooltip 承载必读提示(触屏与键盘用户看不到)。

Design Token 映射

不适用:组件 tokenRefs 为空:样式 Token 数据尚未接入,三层映射(Primitive → Semantic → Component)待样式 Token 接入后回填。