组件/Tooltip 提示

Tooltip 提示

悬停或聚焦时显示的简短提示

已验证自 0.3.4

用法

EXAMPLE.VUE
<template>
  <TxTooltip content="复制成功">
    <TxButton variant="ghost">Copy</TxButton>
  </TxTooltip>
</template>

悬停提示

trigger 默认为 hover,键盘聚焦 reference 时同样打开。

示例加载中...

图标按钮

示例加载中...

Anchor 配置

anchor 透传给 BaseAnchor,覆盖面板背景、定位、箭头等默认值。

示例加载中...

点击切换

trigger="click" 时点击 reference 切换,点击外部关闭。

示例加载中...

点击外部不关闭

closeOnClickOutside 设为 false 后,只有再次点击 reference 或按 Esc 才关闭。

示例加载中...

后台反馈中心

Tooltip 只解释一个动作或指标;持续展示结果用 TxToastHost,阻断刷新中的面板用 TxLoadingOverlay。

示例加载中...

最佳实践

  • 文案保持一行以内。
  • 外观、定位与动效通过 anchor 配置。
  • 不放表单、长说明或批量操作;复杂内容改用 TxPopover 或 TxDrawer。

API 参考

属性

属性名类型默认值说明
modelValuebooleanundefined是否打开(v-model);省略时为非受控。
contentstring''提示文本;提供 content 插槽时不使用。
disabledbooleanfalse阻止打开,变为禁用时关闭。
trigger'hover' | 'click' | 'focus' | 'manual''hover'触发方式;manual 不绑定 reference 交互,开合由 modelValue 决定。
openDelaynumber见 layer 预设(hint 为 200)hover / focus 下的打开延迟(ms);不传时由共享延迟服务提供。
closeDelaynumber见 layer 预设(hint 为 120)hover / focus 下的关闭延迟(ms);不传时由共享延迟服务提供。
maxHeightnumber320面板最大高度(px),<= 0 不限;使用 content 插槽且未设置时也不限。
referenceFullWidthbooleanfalsereference 包装层占满宽度。
interactivebooleanfalsehover 模式下允许指针移进面板而不关闭。
keepAliveContentbooleanfalse关闭后保留面板内容挂载。
closeOnClickOutsidebooleantrigger === 'click'点击外部时关闭;优先于 anchor 中的同名配置。
toggleOnReferenceClickbooleantrigger === 'click'点击 reference 时切换;优先于 anchor 中的同名配置。
layer'hint' | 'menu' | 'dialog''hint'浮层语义层级,决定延迟预设、互斥规则与默认动画。
rolestring'tooltip'面板的 ARIA 角色;非 tooltip 时 reference 不再带 aria-describedby。
unstyledbooleanfalse去掉提示的文字样式与高度上限,原样渲染内容。
anchorPartial<TooltipAnchorProps>{}透传给 TxBaseAnchor,覆盖 Tooltip 的定位、面板与动画默认值;不含 modelValue、disabled。

事件

事件名参数说明
update:modelValue(value: boolean) => void开合状态变化时触发。
open() => void由关闭变为打开后触发。
close() => void由打开变为关闭后触发。

插槽

插槽名Props说明
default-reference 内容,包在触发用的 span 内。
content{ side: string }自定义提示内容;side 为最终落位方向。

暴露方法

名称类型说明
updatePosition() => void重新计算面板定位。

概述

  • 传 modelValue 时受控,否则内部维护开合。
  • hover / focus 按 openDelay / closeDelay 开合;click 的切换与外部点击由 BaseAnchor 处理。
  • interactive 时,悬停区是整个浮层:面板外框(含内边距)加 reference 与面板之间的悬停桥;离开整个浮层才安排关闭。
  • 同样只在 interactive 时:指针朝面板离开 reference 后,只要保持移动且不出安全三角,面板与父层都不关闭,途经的其他悬停触发器也不打开;停顿超过 100ms 或离开三角形即按 closeDelay 关闭,停在其他触发器上则由它接手。
  • 面板内容带 role="tooltip" 与 data-side。
  • 默认动画为 { type: 'boom' },anchor.animation 会整体覆盖;默认不画箭头,开启后间距仍为 offset(默认 8px)。

技术实现

  • 安全三角的判定在 packages/tuffex/packages/utils/hover-intent.ts,只在途中监听 pointermove;父层的延后关闭由锚点延迟服务挂起。
  • 源码:packages/tuffex/packages/components/src/tooltip/。
查看源码
packages/tuffex/packages/components/src/tooltip/index.ts