Skip to content
On this page

Tooltip 文字提示组件

s-tooltip 基于 Element Plus el-tooltip 封装,额外提供了“文本溢出时才显示提示”和“多行省略”能力,适合表格列、描述信息、按钮说明等场景。

Element Plus Tooltip 文档

Hidden Title

基础用法:<s-tooltip width="100" content="这是一段比较长的提示文本,默认只展示单行,超出当前宽度后鼠标移入会显示完整内容。" placement="right"></s-tooltip>

属性事件插槽简介

基础用法

通常用法

主题与点击事件

最大行数

触发方式

延迟触发

自定义主题和禁用状态

显示 HTML / VNode 内容

自定义插槽

受控模式

全局默认配置

tooltip 支持在 app.use 的第二个参数里配置全局默认值,写法和 Element Plus 的全局配置保持一致。 除 widthlineClampshowSloteffect 这些封装属性外,Element Plus Tooltip 的属性可直接写在 tooltip 下。

js
app.use(SybzComponents, {
  tooltip: {
    width: '240px',
    lineClamp: 2,
    effect: 'light',
    placement: 'top',
    showAfter: 1000,
  },
})
app.use(SybzComponents, {
  tooltip: {
    width: '240px',
    lineClamp: 2,
    effect: 'light',
    placement: 'top',
    showAfter: 1000,
  },
})
配置项可选值默认值说明
tooltip.widthstring100%默认文本触发区域最大宽度
tooltip.lineClampstring / number1默认文本区域最大展示行数
tooltip.effectstringdarktooltip 主题
tooltip.placementstringElement Plus 默认值tooltip 弹出位置
tooltip.showAfternumber0延迟显示时间,单位毫秒
tooltip.dangerouslyUseHTMLStringbooleanfalse是否将 content 按 HTML 字符串渲染

组件属性

属性名说明类型默认值
width默认文本触发区域最大宽度string100%
lineClamp默认文本区域最大展示行数,1 表示单行省略string / number1
showSlot是否渲染默认触发内容区域booleantrue
effecttooltip 主题,会透传给 el-tooltipdark/lightdark
dangerouslyUseHTMLString是否将 content 按 HTML 字符串渲染booleanfalse

常用透传属性

属性名说明类型默认值
content提示内容;未传默认插槽时,也会作为默认展示文本string / VNode-
placementtooltip 弹出位置top / top-start / top-end / bottom / bottom-start / bottom-end / left / left-start / left-end / right / right-start / right-endbottom
trigger触发方式,支持单个值或数组string / string[]Element Plus 默认值
show-after延迟显示时间,单位毫秒number0
visible受控显示状态boolean-
disabled是否禁用 tooltipbooleanfalse
raw-contentElement Plus 原生 HTML 解析属性,仍支持透传booleanfalse

事件

事件名说明
click点击触发内容区域时触发

插槽

插槽名说明
default自定义触发区域;常用于包裹按钮、图标等元素
content自定义 tooltip 内容

说明

  • 未传默认插槽时,组件会把 content 作为展示文本,并在文本超出可视区域后才显示 tooltip。
  • 传入默认插槽后,tooltip 会按正常交互触发,不再做文本溢出判断。
  • 设置 lineClamp 大于 1 后,会按最大行数进行多行省略;超出可视高度时同样会显示 tooltip。
  • lineClamp 只作用于组件默认渲染的文本区域,不影响自定义触发插槽的布局。
  • content 支持字符串、HTML 字符串、VNode,以及 content 插槽形式的动态内容。
  • 更多配置请参考 Element Plus Tooltip 文档。

思云博智私有前端组件库