Skip to content

Timeline 时间线

xy-timelinexy-timeline-groupxy-timeline-item 用来承接“按时间顺序查看事件”的场景。当前版本不走 items 数据驱动,而是继续保持插槽优先的布局原语,同时补上了分组、流程态、结构化内容区和紧凑密度,让它更适合活动流、里程碑和侧栏详情页。默认 mode='start' 是贴左侧的常规时间线,不是中轴居中布局;只有 alternate / alternate-reverse 才会走中轴双侧分布。

默认 start 用法

最基础的接法是 title + meta + default 这三块。默认 mode='start' 会把时间线贴左侧展开;比起继续在 default 里自己写整块卡片,这种写法更稳定,也更方便后续切到紧凑模式。

默认 `mode='start'` 会把时间线贴左侧展开,这是最常见的后台时间线形态。

创建需求单
产品 / 需求池
产品补充版本目标、交付范围和验收标准。
2026-03-20 09:30
技术评审
研发 / 评审会
前后端确认接口、状态流转和回滚预案。
2026-03-21 14:10
灰度发布
发布 / 灰度批次 1
按项目组和租户范围分批开放能力。
2026-03-24 18:45

分组、布局模式与 reverse

xy-timeline-group 负责分段标题和补充信息。阅读顺序建议先理解默认的 mode='start' 左侧单线布局,再看 mode='end' 的右侧镜像,最后再用 alternate 系列处理双侧中轴场景。reverse 会按组整体反转,但不会打乱组内顺序。

当前模式: start默认左侧单线布局

2026-03-24
发布日动作流
3 条记录
17:20 / 发布系统
灰度批次 1 完成
按租户白名单完成首批切流。
18:10 / 可观测平台
监控指标回稳
错误率和接口耗时回到基线范围。
2026-03-25
收尾与复盘
2 条记录
09:30 / 运营值班
二次放量待确认
等待客服确认热线压力是否可控。
11:00 / 项目经理
复盘会议延期
外部依赖尚未回收,复盘顺延到下午。

流程态与语义色

state 负责流程语义,type 负责视觉语义。下一阶段的活动流和里程碑,都会优先建立在这套组合上。

这里同时看三层信息:节点流程态、语义色,以及右侧状态胶囊。这样更容易分清 `state` 和 `type` 的职责。

done + success
适合已交付、已上线、已同步
完成
节点和连线会进入完成态,但成功语义仍由 `type` 控制。
适合发布完成、回写完成、已归档这类终态。
已完成
current + primary
适合当前主线阶段
当前
当前节点会被强调,但不会自动覆盖你的语义色选择。
适合当前审批环节、当前开发阶段、当前值班轮次。
当前步骤
pending + neutral
适合待审批、待确认、待触发
待处理
pending 默认会走空心节点和弱化尾线,不需要额外手动写 `hollow`。
适合排队中、等待人工确认、等待外部系统触发。
等待处理
blocked + warning
适合延期、异常、依赖阻塞
风险
blocked 负责流程风险表达,warning 继续承接视觉语义。
适合延期、缺依赖、审批卡点和回滚待确认。
风险阻塞

结构化头信息与 dot

title / meta / actions / extra 可以把节点内容拆成稳定区域;dot 只替换节点区,不影响内容结构。

`dot` 只会替换节点区,标题、元信息、操作区和正文结构都不会被覆盖。

2026-03-26 10:30
结构化头信息
审批流 / 财务负责人 / 工单 #X-2034
节点区可以被 `dot` 替换,但头部、正文和扩展区仍保持稳定结构。
本次变更影响预算编号、合同主体和审批备注 3 个字段。
meta only
来源系统 / 版本号 / 操作者
单侧布局里更推荐把辅助信息收口到 `meta`,而不是再额外开启 `center`。
来源信息

紧凑模式

density='compact' 适合抽屉、侧栏和详情区。它缩小的是信息密度,不会改掉 DOM 语义和内容区顺序。

同一份数据下,`default` 更适合常规详情页,`compact` 更适合抽屉、侧栏和窄面板。

default标准密度
今天
最近 2 条
客户补充备注
法务复核 / 附件已上传
补充了线下合同扫描件,等待法务复核。
5 分钟前
处理人已变更
售前支持 -> 交付经理
由售前支持转交给交付经理继续跟进。
20 分钟前
侧栏详情页 / 最近动态compact 模式
今天
最近 2 条
客户补充备注
法务复核 / 附件已上传
补充了线下合同扫描件,等待法务复核。
5 分钟前
处理人已变更
售前支持 -> 交付经理
由售前支持转交给交付经理继续跟进。
20 分钟前

何时使用

  • 需要连续表达“发生了什么、谁处理了、什么时候发生”的后台页面。
  • 需要在同一套基础能力上同时承接活动流、里程碑和侧栏详情记录。
  • 需要分组标题、流程态和结构化区域,但还不想引入专用业务组件。

API

Timeline Attributes

属性说明类型默认值
mode布局模式;推荐按 start -> end -> alternate -> alternate-reverse 的顺序理解:start 为左侧单线,end 为右侧镜像,后两者为中轴双侧布局TimelineMode'start'
reverse是否反转默认插槽内容顺序booleanfalse
density信息密度;compact 适合抽屉、侧栏和详情区TimelineDensity'default'

Timeline Slots

插槽说明
default时间线内容,通常传入 xy-timeline-groupxy-timeline-item,也允许混入普通节点

TimelineGroup Attributes

属性说明类型默认值
title分组标题string''
description分组描述string''
divider是否显示组头下方分隔线booleantrue

TimelineGroup Slots

插槽说明
title覆盖默认标题区
extra组头右侧补充内容
default组内时间线节点或普通辅助节点

TimelineItem Attributes

属性说明类型默认值
timestamp时间戳文案string''
hide-timestamp是否隐藏时间戳booleanfalse
center是否把时间戳切到对侧并做垂直居中展示;主要用于 alternate / alternate-reversebooleanfalse
placement时间戳在内容区域的位置TimelineItemPlacement'bottom'
type节点语义色TimelineItemType''
state流程态;负责 done / current / pending / blocked 这类流程表达TimelineItemState'default'
color自定义节点颜色string''
size节点尺寸TimelineItemSize'normal'
icon字符串图标名,内部由 xy-icon 渲染string''
hollow是否显示为空心节点;state='pending' 时默认会走空心节点booleanfalse

TimelineItem Slots

插槽说明
title主标题区
meta辅助信息区,例如操作者、来源系统、版本号
actions右侧轻操作区
default正文区
extra正文下方扩展区,例如 diff 摘要、补充说明
dot自定义节点;存在时不再渲染默认节点

使用提示

  • type 决定视觉语义,state 决定流程语义,两者可以并存,不建议互相替代。
  • 建议先把 mode='start' 当成默认常规时间线理解,再把 mode='end' 看作右侧镜像;只有 alternate 系列会把节点分布到中轴两侧。
  • TimelineItem 没有显式 title 时,正文区会自动走更稳妥的默认排版,但更推荐优先使用结构化头信息。
  • TimelineGroup 默认带分隔线;如果是抽屉、侧栏或更轻的分段头,可以把 divider 关掉。
  • center 主要面向 alternate / alternate-reverse 这类双侧布局;在 start / end 这种单侧布局里会自动回退为普通时间戳显示。
  • reverse 遇到 xy-timeline-group 时会按组整体反转,但组内顺序保持声明顺序。
  • density 会透传到 GroupItem,所以推荐在根层统一切换,而不是在 demo 或业务页里继续手写紧凑样式。
  • dot 只替换节点区,不会替换 title / meta / actions / extra 这些结构化区域。

模式选择建议

  • start:默认后台时间线,左侧单线布局,适合活动流、审计流和常规详情记录。
  • end:右侧镜像单线布局,适合需要贴右侧信息区或和左侧主内容配合的页面。
  • alternate:中轴双侧布局,适合里程碑、阶段流和需要左右对照的说明。
  • alternate-reverse:和 alternate 相同,但首项从右侧起步,适合需要和页面现有节奏反向对齐的版式。