Skip to content

XtfTooltip

组件说明

xtf-tooltip 是基于 xtf-popover 的轻量文字提示组件,适用于字段解释和按钮说明。支持方向、hover/click/manual 触发,以及自定义内容插槽;非 H5 的 hover 会由底层组件降级处理。


基础用法

1. 文本提示

vue
<template>
  <xtf-tooltip content="这是订单金额"><xtf-button size="sm" label="金额说明" /></xtf-tooltip>
</template>
<script>
export default {}
</script>

2. 指定方向与点击触发

vue
<template>
  <xtf-tooltip content="再次点击关闭" placement="top" trigger="click">
    <xtf-button size="sm" type="outline" label="点击提示"
  /></xtf-tooltip>
</template>
<script>
export default {}
</script>

3. 手动控制

vue
<template>
  <view>
    <xtf-button label="切换提示" @click="show = !show" /><xtf-tooltip
      :show="show"
      trigger="manual"
      content="由业务状态控制"
      @update:show="changed"
      ><xtf-tag label="手动提示"
    /></xtf-tooltip>
  </view>
</template>
<script>
export default {
  data() {
    return { show: false }
  },
  methods: {
    changed(value) {
      this.show = value
      console.log('tooltip:', value)
    }
  }
}
</script>

4. 内容插槽

内容需要图文组合时使用 content 插槽。

vue
<template>
  <xtf-tooltip trigger="click" placement="bottom" :arrow="false">
    <xtf-button label="查看规则" /><template #content
      ><view
        ><xtf-text color="inverse" text="退款将在 1-3 个工作日到账" /><xtf-tag
          size="xs"
          theme="warning"
          label="重要" /></view>
</template>
  </xtf-tooltip>
</template>
<script>
export default {}
</script>

全部属性

属性类型默认值作用描述适用范围
showBooleanfalse可见状态,可用 v-model:showmanual 触发
triggerString'hover'hover/click/manual 触发方式选择交互方式
placementString'bottom'提示方向top/bottom/left/right
contentString''默认提示内容简短纯文本
arrowBooleantrue是否显示箭头自定义面板时
disabledBooleanfalse禁用提示不可用状态
closeOnClickOutsideBooleantrue点击外部是否关闭click/manual 模式
autoAdjustBooleantrue空间不足时自动调整方向边缘锚点
offsetString | Number12与触发元素间距微调位置
widthString | Number''面板固定宽度固定信息卡
maxWidthString | Number320面板最大宽度长文案换行
zIndexString | Number40面板层级与弹层叠放
customClassString''外层类名局部定制
customStyleString | Object''外层样式局部定制
panelClassString''浮层面板类名面板视觉定制
panelStyleString | Object''浮层面板样式面板视觉定制
titleClassString''标题区域类名,透传 xtf-popover底层样式定制
titleStyleString | Object''标题区域样式,透传 xtf-popover底层样式定制
contentClassString''内容区域类名内容视觉定制
contentStyleString | Object''内容区域样式内容视觉定制
arrowClassString''箭头类名箭头视觉定制
arrowStyleString | Object''箭头样式箭头视觉定制

事件

事件名称触发时机回调参数参数说明
update:show底层 xtf-popover 显示状态变化时(value: Boolean)用于同步 show
open底层 xtf-popover 打开时()事件由 xtf-popover 穿透
close底层 xtf-popover 关闭时()事件由 xtf-popover 穿透

事件使用示例

vue
<template>
  <xtf-tooltip
    :show="show"
    trigger="manual"
    content="同步事件"
    @update:show="show = $event"
    @open="log('open')"
    @close="log('close')"
    ><xtf-button label="提示" @click="show = !show"
  /></xtf-tooltip>
</template>
<script>
export default {
  data() {
    return { show: false }
  },
  methods: {
    log(name) {
      console.log('tooltip', name)
    }
  }
}
</script>

插槽

插槽名称作用域参数说明
默认插槽-触发提示的目标元素。
content-替换 content 属性,适合组合文本、标签等富内容。

主题说明

  • 组件视觉由底层 xtf-popover 的 tooltip 变体提供,样式类可通过 panelClasscontentClassarrowClass 覆盖。
  • 面板尺寸由 widthmaxWidth 控制,层级由 zIndex 控制。
  • xtf-config-provider 覆盖 popover 相关主题变量,或使用 panelStyle 为单个提示定制外观。

MIT Licensed