Appearance
- default
- chenghua
- shijingshan
- sybz
- gulou
无数据
Appearance
s-tooltip 基于 Element Plus el-tooltip 封装,额外提供了“文本溢出时才显示提示”和“多行省略”能力,适合表格列、描述信息、按钮说明等场景。
<s-tooltip width="100" content="这是一段比较长的提示文本,默认只展示单行,超出当前宽度后鼠标移入会显示完整内容。" placement="right"></s-tooltip>s-tooltip 的 width 用于控制触发文本区域的宽度;要调整弹出层内容宽度,可通过透传属性 popperStyle 设置。拖动滑块查看内容区域宽度和自动换行效果。
| 配置项 | 可选值 | 默认值 | 说明 |
|---|---|---|---|
tooltip.width | string | 100% | 默认文本触发区域最大宽度 |
tooltip.lineClamp | string / number | 1 | 默认文本区域最大展示行数 |
tooltip.effect | string | dark | tooltip 主题 |
tooltip.placement | string | Element Plus 默认值 | tooltip 弹出位置 |
tooltip.showAfter | number | 0 | 延迟显示时间,单位毫秒 |
tooltip.dangerouslyUseHTMLString | boolean | false | 是否将 content 按 HTML 字符串渲染 |
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
width | 默认文本触发区域最大宽度;不控制弹出层宽度 | string | 100% |
lineClamp | 默认文本区域最大展示行数,1 表示单行省略 | string / number | 1 |
showSlot | 是否渲染默认触发内容区域 | boolean | true |
effect | tooltip 主题,会透传给 el-tooltip | dark/light | dark |
dangerouslyUseHTMLString | 是否将 content 按 HTML 字符串渲染 | boolean | false |
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
content | 提示内容;未传默认插槽时,也会作为默认展示文本 | string / VNode | - |
placement | tooltip 弹出位置 | top / top-start / top-end / bottom / bottom-start / bottom-end / left / left-start / left-end / right / right-start / right-end | bottom |
trigger | 触发方式,支持单个值或数组 | string / string[] | Element Plus 默认值 |
show-after | 延迟显示时间,单位毫秒 | number | 0 |
visible | 受控显示状态 | boolean | - |
disabled | 是否禁用 tooltip | boolean | false |
popper-style | 弹出层样式;可用 width / maxWidth / whiteSpace 控制内容宽度和换行 | object / string | Element Plus 默认值 |
raw-content | Element Plus 原生 HTML 解析属性,仍支持透传 | boolean | false |
| 事件名 | 说明 |
|---|---|
click | 点击触发内容区域时触发 |
| 插槽名 | 说明 |
|---|---|
default | 自定义触发区域;常用于包裹按钮、图标等元素 |
trigger | 直接渲染触发节点,需同时设置 showSlot=false |
content | 自定义 tooltip 内容 |
content 作为展示文本,并在文本超出可视区域后才显示 tooltip。class/style 应用在外层触发节点,内部内容不会重复应用这些样式。设置外层样式时,弹层按内部内容的可见范围定位,排除外层 margin、padding 和被省略的文本部分;居中 placement 的箭头对齐可见内容中心,边界避让时由 Element Plus 调整。showSlot=false 并使用 trigger 插槽时,触发节点会直接作为 tooltip 定位元素,不添加文本包裹层。lineClamp 大于 1 后,会按最大行数进行多行省略;超出可视高度时同样会显示 tooltip。lineClamp 只作用于组件默认渲染的文本区域,不影响自定义触发插槽的布局。content 支持字符串、HTML 字符串、VNode,以及 content 插槽形式的动态内容。