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>

属性事件插槽简介 ​

基础用法 ​

控制弹出层内容宽度(popperStyle 默认值:Element Plus 默认样式) ​

s-tooltip 的 width 用于控制触发文本区域的宽度;要调整弹出层内容宽度,可通过透传属性 popperStyle 设置。拖动滑块查看内容区域宽度和自动换行效果。

自定义文本样式 ​

通常用法 ​

主题与点击事件 ​

最大行数 ​

触发方式 ​

延迟触发 ​

自定义主题和禁用状态 ​

显示 HTML / VNode 内容 ​

自定义插槽 ​

受控模式 ​

配置项可选值默认值说明
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
popper-style弹出层样式;可用 width / maxWidth / whiteSpace 控制内容宽度和换行object / stringElement Plus 默认值
raw-contentElement Plus 原生 HTML 解析属性,仍支持透传booleanfalse

事件 ​

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

插槽 ​

插槽名说明
default自定义触发区域;常用于包裹按钮、图标等元素
trigger直接渲染触发节点,需同时设置 showSlot=false
content自定义 tooltip 内容

说明 ​

  • 未传默认插槽时,组件会把 content 作为展示文本,并在文本超出可视区域后才显示 tooltip。
  • class/style 应用在外层触发节点,内部内容不会重复应用这些样式。设置外层样式时,弹层按内部内容的可见范围定位,排除外层 margin、padding 和被省略的文本部分;居中 placement 的箭头对齐可见内容中心,边界避让时由 Element Plus 调整。
  • 传入默认插槽后,tooltip 会按正常交互触发,不再做文本溢出判断。
  • 设置 showSlot=false 并使用 trigger 插槽时,触发节点会直接作为 tooltip 定位元素,不添加文本包裹层。
  • 设置 lineClamp 大于 1 后,会按最大行数进行多行省略;超出可视高度时同样会显示 tooltip。
  • lineClamp 只作用于组件默认渲染的文本区域,不影响自定义触发插槽的布局。
  • content 支持字符串、HTML 字符串、VNode,以及 content 插槽形式的动态内容。
  • 更多配置请参考 Element Plus Tooltip 文档。

思云博智私有前端组件库