Skip to content

Timeline 时间线 ​

用于按时间顺序展示一系列事件节点。

破坏性变更:节点颜色语义升级(v2.4)

color="green | red | gray" 已替换为语义色枚举 type:green → success、red → danger、gray → neutral。旧 color 三个值在当版本仍兼容映射(会按计划移除,请尽快迁移),其余取值不再生效。任意自定义颜色不走属性,请用 CSS 变量 --oas-timeline-dot-color 一行覆盖(如 style="--oas-timeline-dot-color: var(--oas-color-warning)")。

基础用法 ​

基础时间线

项目启动,明确目标与边界。

核心组件开发完成,单测通过。

修复线上问题并回归。

文档站上线,对外发布。

语义色(type) ​

type 提供节点语义色枚举:primary(缺省)/ success / warning / danger / info / neutral(灰=已归档),对齐库内语义色 token(含暗色变体)。任意颜色用 --oas-timeline-dot-color CSS 变量开口。

节点语义色与任意色

默认主题色(primary)

success:已完成 / 成功

warning:需要注意

danger:失败 / 告警

info:一般信息

neutral:已归档(原 gray)

任意色:--oas-timeline-dot-color 变量开口

旧 color 兼容映射(将移除,请迁移到 type)

color="green" → success

color="red" → danger

color="gray" → neutral

节点变体(variant) ​

variant="outlined" 把节点渲染为空心描边(缺省 filled 实心),可与 type 组合。

outlined 描边节点

filled 实心(默认)

outlined 描边:待复核

outlined + warning

自定义节点(dot 插槽 / icon 属性) ​

节点可用 slot="dot" 完全自定义(任意内容),或用 icon 属性快捷渲染库内图标(颜色跟随 type)。

icon 属性节点

构建包已上传

预发布检查通过

灰度环境冒烟失败

修复后重新发布

dot 插槽自定义节点

1

第一步:提交申请

2

第二步:审核通过

圆点尺寸与颜色定制

小圆点(--oas-timeline-dot-size: 6px)

默认尺寸(10px)

大圆点(16px)

自定义色(--oas-timeline-dot-color: #7c3aed)

标题结构(title 插槽) ​

slot="title" 渲染强调标题行,与正文(默认插槽)分区,适合发布记录、版本日志。

标题 + 正文

v1.2.0 发布

新增数据展示组件,详见版本说明。

v1.3.0 发布

优化暗色主题与无障碍支持。

进行中与加载(pending / loading) ​

pending 标记进行中尾节点:空心圆点 + 虚线连接 + 脉冲动画,无内容时显示「敬请期待」。loading 标记单节点加载中(旋转环节点),内容区 aria-busy 同步。

进行中尾节点 + 加载中节点

v1.4.0 需求评审完成。

核心功能开发完成,单测通过。

回归测试执行中…

给 oas-timeline-item 设置 pending 后,该节点显示为空心圆点 + 虚线连接,表示「进行中 / 敬请期待」;节点无内容时默认展示「敬请期待」文案。

倒序(reverse) ​

reverse 视觉倒序渲染(最新在上),DOM 顺序不变、朗读与焦点顺序稳定,常与 pending 组合表达「进行中的最新动态」。

reverse 倒序

最早的一次提交

中间里程碑

最近一次发布(视觉在最上)

横向时间轴(direction) ​

direction="horizontal" 把轴横置、条目横向排布(适合里程碑、发布管道)。横向时 mode 语义映射:left 内容在轴下方(默认)、right 内容在轴上方、alternate 上下交替。

横向时间轴

规划

核心开发

联调

发布

横向 + 交替

规划

核心开发

联调

发布

交替模式与对侧内容(mode / opposite) ​

mode 控制内容相对轴的位置:left(默认,轴在左)/ right(轴在右)/ alternate(轴居中、内容左右交替,首项在左)。slot="opposite" 在 alternate 模式下把内容放到轴对侧(如把时间放外侧、摘要放内侧)。

mode=right

轴在右,内容在左

适合 RTL 语境的镜像布局

mode=alternate + opposite 对侧

2024-06-01

首次内测

2024-06-15

公测上线

2024-07-01

性能优化

对侧内容通道仅在 alternate 模式显示;单侧模式(left/right)下 slot="opposite" 隐藏。

条目点击(oas-click) ​

时间线条目支持点击事件 oas-click(detail 带 { index },bubbles + composed),适合日志流点条目看详情。

点击条目

订单 #1024 支付成功

订单 #1024 仓库出库

订单 #1024 物流中转延迟

富内容与交互 ​

节点内容保留在宿主 DOM 原位分发,内容里的按钮、链接交互事件完整可用(此前克隆渲染会丢失宿主监听,已修复)。

富内容节点(按钮事件可用)

v1.2.0 发布

新增数据展示组件。

查看版本说明

v1.3.0 发布

优化暗色主题与无障碍支持。

立即更新

字号定制 ​

字号默认跟随外层 font-size(继承),可用 CSS 变量 --oas-timeline-font 显式定制(如 18px)。节点与连接线尺寸开口:--oas-timeline-dot-size / 连接线宽随尺寸联动。

尺寸档位 ​

size 提供五档:xs / small / medium(默认)/ large / xl(sm/md/lg 别名等价;非法值回落 medium)。档位联动圆点直径(6/8/10/12/16px,连接线起止随圆点尺寸自适应)与字号(--oas-font-size-* token;medium 跟随外层字号)。

size 五档

极小档(6px 圆点)完成小档(8px 圆点)完成默认档(10px 圆点,跟随外层字号)完成大档(12px 圆点)完成特大档(16px 圆点)完成

API ​

oas-timeline ​

属性 ​

属性说明类型默认值
direction轴方向:vertical(默认)/ horizontal(横向排布)string—
mode内容相对轴的位置:left(默认,轴在左)/ right(轴在右)/ alternate(轴居中、内容左右交替,首项在左);横向时映射为轴下/轴上/上下交替string—
reverse视觉倒序(DOM 顺序不变),常与 pending 组合表达「最新在上」boolean—
size五档尺寸:圆点直径 6/8/10/12/16px + 字号 token(连接线随动,medium 跟随外层)stringmedium

插槽 ​

名称说明
默认时间轴节点(oas-timeline-item)

CSS 变量 ​

CSS 变量默认值
--oas-timeline-fontinherit

oas-timeline-item ​

属性 ​

属性说明类型默认值
color【迁移兼容】旧节点色:green→success、red→danger、gray→neutral,将移除;新代码用 type,任意色走 --oas-timeline-dot-colorstring—
icon节点图标(库内 oas-icon 图标名),颜色跟随 type,slot="dot" 优先string—
loading单节点加载中:圆点变旋转环,内容区 aria-busy 同步boolean—
pending进行中节点:空心圆点 + 虚线连接 + 脉冲,无内容时显示「敬请期待」boolean—
time节点时间文本string—
type节点语义色:primary(缺省)/ success / warning / danger / info / neutralstring—
variant节点变体:filled(默认实心)/ outlined(空心描边)string—

事件 ​

事件说明
oas-click条目点击(内容区),detail 带

插槽 ​

名称说明
默认节点正文
dot自定义节点(任意内容替换圆点)
opposite对侧内容(仅在 mode=alternate 时显示于轴对侧)
title标题强调行(与正文分区)

CSS 变量 ​

CSS 变量默认值
--oas-timeline-dot-colorvar(--dot-color, var(--oas-color-primary))
--oas-timeline-dot-size10px
--oas-timeline-fontinherit

基于 MIT OR Apache-2.0 双许可发布