--- localeCode: zh-CN order: 65 category: 展示类 title: Timeline 时间轴 icon: doc-timeline brief: 时间轴是用于对一系列信息进行时间排序时,垂直展示的组件。 --- ## 代码演示 ### 如何引入 ```jsx import import { Timeline } from '@douyinfe/semi-ui'; ``` ### 基本用法 ```jsx live=true import React from 'react'; import { Timeline } from '@douyinfe/semi-ui'; () => ( 第一个节点内容 第二个节点内容 第三个节点内容 ); ``` ### 节点类型 通过 type 可以设置节点类型,对应原点会变成相应的颜色,可选:`default`,`ongoing`, `success`, `warning`, `error`。 ```jsx live=true import React from 'react'; import { Timeline } from '@douyinfe/semi-ui'; () => ( 审核中 发布成功 审核失败 ); ``` ### 自定义节点 可以通过 `dot` 自定义图标,`color` 自定义圆点色值。通过设置 `children` 的样式可以自定义节点样式。 ```jsx live=true import React from 'react'; import { Timeline } from '@douyinfe/semi-ui'; import { IconAlertTriangle } from '@douyinfe/semi-icons'; () => ( 默认样式的节点 } type="warning"> 自定义图标 自定义节点颜色 自定义节点样式 ); ``` ### 时间轴位置 通过 `mode` 属性可以设置时间的位置,共有 4 种模式可选:`left`, `center`, `alternate`, `right`。 #### 时间轴在左侧(默认) ```jsx live=true import React from 'react'; import { Timeline } from '@douyinfe/semi-ui'; () => ( 第一个节点内容 第二个节点内容 第三个节点内容 第四个节点内容 ); ``` #### 时间节点在左侧 ```jsx live=true import React from 'react'; import { Timeline } from '@douyinfe/semi-ui'; () => ( 第一个节点内容 第二个节点内容 第三个节点内容 第四个节点内容 ); ``` #### 交替展现 ```jsx live=true import React from 'react'; import { Timeline } from '@douyinfe/semi-ui'; () => ( 第一个节点内容 第二个节点内容 第三个节点内容 第四个节点内容 ); ``` #### 时间轴在右侧 ```jsx live=true import React from 'react'; import { Timeline } from '@douyinfe/semi-ui'; () => ( 第一个节点内容 第二个节点内容 第三个节点内容 第四个节点内容 ); ``` ### 使用 dataSource ```jsx live=true import React from 'react'; import { Timeline } from '@douyinfe/semi-ui'; import { IconAlertTriangle } from '@douyinfe/semi-icons'; () => ( 第二个节点内容, color: 'pink', }, { time: '2019-05-14 18:34', extra: '节点辅助说明信息', dot: , content: '第三个节点内容', type: 'warning', }, { time: '2019-05-09 09:12', extra: '节点辅助说明信息', content: '第四个节点内容', type: 'success', }, ]} /> ); ``` ## API 参考 ### TimeLine | 属性 | 说明 | 类型 | 默认值 | | --- | --- | --- | --- | | className | 类名 | string | - | | mode | 通过设置 mode 可以改变时间轴和内容的相对位置 | `left`\|`right`\|`center`\|`alternate` | `left` | | style | 样式 | CSSProperties | - | | dataSource | 时间轴数据源 **v>=1.16.0**,支持 content 属性及 TimeLine.Item 的所有属性 | array | - | ### TimeLine.Item | 属性 | 说明 | 类型 | 默认值 | 版本 | | --- | --- | --- | --- | --- | | className | 类名 | string | - | - | | color | 自定义的圆圈色值 | string | - | - | | dot | 自定义时间轴点 | ReactNode | - | - | | extra | 自定义辅助内容 | ReactNode | - | - | | position | 自定义节点位置,可以覆盖 TimeLine 的模式选项 | `left`\|`right` | - | - | | style | 样式 | CSSProperties | - | - | | time | 时间文本 | string | - | - | | type | 当前圆圈的模式 | `default`\|`ongoing`\|`success`\|`warning`\|`error` | `default` | - | | onClick | 鼠标点击事件的回调 | (e: MouseEvent) => void | - | 2.2.0 | ## Accessibility ### ARIA - 组件中时间点的连线以及时间点本身被设置了 `aria-hidden`,不会响应 Accessibility API - 可以通过传入 `aria-label` 设置 TimeLine 组件的标签 ```text 创建服务现场 初步排除网络异常 技术测试异常 网络异常正在修复 ``` ## 设计变量