Timeline 时间轴
如果项目中使用的是 1.x 版本的基础组件(@alifd/next),请在左侧导航顶部切换组件版本。
安装方法
- 在命令行中执行以下命令
npm install @icedesign/base@latest -S
Guide
垂直展示的时间流信息。
何时使用
当有一系列信息需要从上至下按时间排列时。
需要有一条时间轴进行视觉上的串联时。
API
时间轴
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
prefix | 样式的品牌前缀 | String | 'next-' |
fold | 自定义折叠选项 示例[{foldArea: [startIndex, endIndex], foldShow: boolean}] | Array | [] |
className | 自定义类名 | String | - |
Timeline.Item
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
state | 节点状态可选值:'done', 'process', 'error', 'success' | Enum | 'done' |
icon | 图标 | String | - |
time | 格式化后的时间 | ReactNode | - |
title | 标题 | ReactNode | - |
content | 内容 | ReactNode | - |
代码示例
最简单的用法。
查看源码在线预览
import { Timeline } from "@icedesign/base";
const { Item: TimelineItem } = Timeline;
ReactDOM.render(
<Timeline>
<TimelineItem title="收件" state="process" />
<TimelineItem title="发货" />
<TimelineItem title="下单" />
</Timeline>,
mountNode
);
带内容的用法,分别添加title,content,icon的效果。
查看源码在线预览
import { Timeline } from "@icedesign/base";
const { Item: TimelineItem } = Timeline;
ReactDOM.render(
<Timeline>
<TimelineItem
title="签收"
content={
<div>
【杭州市】已签收,签收人是阿里巴巴小邮局,感谢使用申通快递,期待再次为您服务
</div>
}
time={"2016-06-10 10:30:00"}
state="process"
/>
<TimelineItem
title="派送"
content="【杭州市】快件已到达 浙江杭州滨江公司"
time={"2016-06-10 09:30:00"}
/>
<TimelineItem
title="派送"
content="【杭州市】浙江杭州滨江公司派件员正在为您派件"
time={"2016-06-10 09:03:00"}
/>
<TimelineItem
title="运输"
content="【杭州市】浙江杭州转运中心 已发出"
time={"2016-06-10 06:10:00"}
/>
<TimelineItem
title="运输"
content="【东莞市】广东东莞转运中心 已发出"
time={"2016-06-09 18:00:00"}
/>
<TimelineItem
title="揽件"
content="【东莞市】申通快递 广东东莞凤岗分部收件员 已揽件"
time={"2016-06-09 16:12:00"}
/>
<TimelineItem
title="揽件"
content="【东莞市】商家正通知快递公司揽件"
time={"2016-06-09 14:00:00"}
/>
<TimelineItem
title="揽件"
content="【东莞市】您的订单待配货"
time={"2016-06-09 10:12:19"}
/>
<TimelineItem
title="揽件"
content="【东莞市】您的订单开始处理"
time={"2016-06-09 10:01:09"}
icon="atm"
/>
</Timeline>,
mountNode
);
自定义折叠区域。
查看源码在线预览
import { Timeline } from "@icedesign/base";
const { Item: TimelineItem } = Timeline;
ReactDOM.render(
<Timeline
fold={[
{ foldArea: [1, 2], foldShow: false },
{ foldArea: [5], foldShow: false }
]}
>
<TimelineItem
title="签收"
content="【杭州市】已签收,签收人是阿里巴巴小邮局,感谢使用申通快递,期待再次为您服务"
time={"2016-06-10 10:30:00"}
state="process"
/>
<TimelineItem
title="派送"
content="【杭州市】快件已到达 浙江杭州滨江公司"
time={"2016-06-10 09:30:00"}
/>
<TimelineItem
title="派送"
content="【杭州市】浙江杭州滨江公司派件员正在为您派件"
time={"2016-06-10 09:03:00"}
/>
<TimelineItem
title="运输"
content="【杭州市】浙江杭州转运中心 已发出"
time={"2016-06-10 06:10:00"}
/>
<TimelineItem
title="运输"
content="【东莞市】广东东莞转运中心 已发出"
time={"2016-06-09 18:00:00"}
/>
<TimelineItem
title="揽件"
content="【东莞市】申通快递 广东东莞凤岗分部收件员 已揽件"
time={"2016-06-09 16:12:00"}
/>
<TimelineItem
title="揽件"
content="【东莞市】商家正通知快递公司揽件"
time={"2016-06-09 14:00:00"}
/>
<TimelineItem
title="揽件"
content="【东莞市】您的订单待配货"
time={"2016-06-09 10:12:19"}
/>
<TimelineItem
title="揽件"
content="【东莞市】您的订单开始处理"
time={"2016-06-09 10:01:09"}
/>
</Timeline>,
mountNode
);
设置每个节点不同的状态。
查看源码在线预览
import { Timeline } from "@icedesign/base";
const { Item: TimelineItem } = Timeline;
ReactDOM.render(
<Timeline>
<TimelineItem title="多云" time={"2016-06-10 10:30:00"} state="process" />
<TimelineItem title="晴天" time={"2016-06-11"} state="success" />
<TimelineItem title="下雨" time={"2016-06-09"} state="error" />
</Timeline>,
mountNode
);