Skip to content

Ellipsis 文本省略 ​

基础用法 ​

多行文本省略组件,内容超出行数限制时自动截断并显示省略号。

  • 自动计算可容纳的字符数,支持在尾部 / 头部 / 中间省略
  • 支持自定义省略符号与最大显示行数
  • 可开启展开 / 收起操作按钮(禁用后置灰不可点击),也支持默认插槽放置富文本
vue
<template>
	<sn-ellipsis :content="longText" :rows="2" expand-text="展开" collapse-text="收起"
		@expand="onExpand" @collapse="onCollapse"></sn-ellipsis>
</template>

<script lang="ts" setup>
const longText = 'SinleUI 提供统一的组件样式、主题能力和跨平台交互。'
function onExpand(): void {
	console.log('已展开')
}
function onCollapse(): void {
	console.log('已收起')
}
</script>

更多演示请下载 demo 查看

自定义操作按钮 ​

使用 expand / collapse 插槽可完全自定义展开与收起按钮;使用默认插槽可放置富文本并做截断预览。

vue
<template>
	<sn-ellipsis :rows="2" :content="longText">
		<template #expand>
			<sn-icon name="arrow-down-s-line" :size="14"></sn-icon>
			<sn-text font-size="$13" color="$primary">查看全部</sn-text>
		</template>
		<template #collapse>
			<sn-icon name="arrow-up-s-line" :size="14"></sn-icon>
			<sn-text font-size="$13" color="$primary">收起</sn-text>
		</template>
	</sn-ellipsis>
</template>

<script lang="ts" setup>
const longText = '支持 48dB 混合主动降噪,通透模式智能过滤环境噪音。'
</script>

属性 ​

参数说明类型默认值可选值
content文本内容String''-
rows最大显示行数String | Number1-
dots省略符号String…-
position省略位置Stringendend | start | middle
expandText展开按钮文字,设置后内容被截断时显示展开按钮String''-
collapseText收起按钮文字,依次跟随 expandText、收起String--
showCollapse展开后是否显示收起按钮Booleantruetrue | false
fontSize文本字号String | Number$14-
lineHeight行高:Number 小于 100 时按字号倍数、大于等于 100 时按 px 处理;String 支持 $14(乘字体乘数)、22px、1.6(字号倍数);字号的 1.6 倍String | Number--
color文本颜色String$text-
actionColor操作按钮颜色;禁用时为禁用文本色String$primary-
selectable文本是否可选中(蒸汽模式)Booleanfalsetrue | false
disabled是否禁用操作按钮Booleanfalsetrue | false
customStyle自定义根节点样式SnStyleValue''-
customClass根节点外部类String''-
textStyle自定义文本样式SnStyleValue''-
textClass文本外部类String''-
actionStyle自定义操作按钮样式SnStyleValue''-
actionClass操作按钮外部类String''-

事件 ​

名称类型说明
expand() => Void点击操作按钮展开内容时触发
collapse() => Void点击操作按钮收起内容时触发

插槽 ​

名称说明
default自定义文本内容(可为富文本),此时截断以高度方式呈现、操作按钮显示在内容下方
expand替换展开操作按钮
collapse替换收起操作按钮

使用 MIT 协议