Skip to content

Text 文本

xy-text 用于承载正文级文本、状态说明和卡片摘要。它不是富文本组件,而是给普通文本补上语义色、尺寸节奏、截断、复制和展开能力。

基础用法

type 用来表达文本语义等级,更适合正文中的“强调”和“状态提示”,而不是按钮那种强交互色块。

基础用法语义颜色

Text 组件用于统一文本颜色样式,支持多种语义类型。

默认文本主要文本成功文本信息文本警告文本危险文本

尺寸

xy-text 跟随全局尺寸,也可以局部覆盖为 sm / md / lg。适合同一页面里区分正文、辅助说明和强调标题。

Small 辅助说明文本Default 正文文本Large 强调文本

单行截断

开启 truncated 后会走单行省略逻辑,实际发生溢出时会自动补 title

这是一段很长的单行文本,用于演示 truncated 开启之后会通过省略号截断,并在溢出时自动补 title。

多行截断

line-clamp 适合摘要块、列表描述和说明文案,多行溢出时也会自动补 title

这是一段多行文本示例,适合卡片摘要、表格扩展描述和二级说明。开启 line-clamp 后,组件会按指定行数截断,并在真正溢出时自动回填 title,避免用户在密集布局里丢失完整上下文。

自定义标签

tag 可以让 Text 保持原本的排版语义,例如 p / strong / del,而不是强行只渲染成 span

已下线功能本周重点发布

自定义 tag 适合在不打断排版语义的前提下接入 Text 的颜色、尺寸和截断能力。

复制与语义样式

copyable 适合承载编号、链接和命令片段,strong / underline / delete 用于轻量语义强调。

pnpm build:docs复制发布命令旧域名已下线

可展开文本

expandable 适合搭配 line-clamp 承载较长说明,默认先收起,点击后展开完整内容。

这是一段较长的说明文字,用于演示 expandable 与 line-clamp 的组合行为。默认只展示两行内容, 当文本真实溢出时,会在末尾提供展开按钮,点击后显示完整内容,适合卡片详情、审核摘要和列表补充说明。

何时使用

  • 需要在正文里对某一段说明做轻量语义强调。
  • 需要在卡片、列表或摘要区控制文本截断,而不想每次都手写样式。
  • 需要保留 p / strong / del 这类标签语义,同时接入统一的主题色和字号。

何时不使用

  • 需要富文本编辑时,Text 不提供编辑能力,应使用 xy-editor
  • 需要可点击跳转的文本时,优先使用 xy-link
  • 需要大段标题时,应使用原生 <h1>-<h6> 或自定义标题组件。
  • 需要状态标记时,优先使用 xy-tag

最佳实践

截断策略选择

场景推荐方式
单行溢出省略truncated
多行摘要截断line-clamp
溢出时显示完整内容ellipsis-tooltip
长文本展开收起expandable + line-clamp

语义色使用

vue
<xy-text type="success">审核通过</xy-text>
<xy-text type="danger">已拒绝</xy-text>
<xy-text type="warning">待处理</xy-text>
<xy-text type="info">草稿</xy-text>

状态文本建议配合 xy-tag 使用——Tag 更适合独立的状态标记,Text 更适合嵌入段落中的状态强调。

Text API

Text Attributes

属性说明类型默认值
type文本语义色TextType'default'
size文本尺寸TextProps["size"]跟随全局配置
truncated是否启用单行省略booleanfalse
line-clamp多行省略的最大行数number | string
tag渲染的根标签string'span'
copyable是否显示复制按钮booleanfalse
ellipsis-tooltip溢出时是否补充 tooltipbooleanfalse
expandable是否支持展开收起booleanfalse
strong是否加粗显示booleanfalse
underline是否添加下划线booleanfalse
delete是否添加删除线booleanfalse

Text Slots

插槽说明
default文本内容

行为约定

  • truncated 只处理单行省略,line-clamp 处理多行省略,两者不建议同时使用。
  • 没有显式传 title 时,组件会在内容真实溢出后自动补 title
  • expandable 只在文本真实溢出时展示展开按钮。
  • tag 只改变语义标签,不改变颜色、字号和截断策略。