程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • 快速入手

  • 基础组件

  • 表单组件

  • 数据展示组件

  • 反馈组件

  • 导航组件

  • 其他组件

    • 对话框组件 (Dialog)
    • 文字提示组件 (Tooltip)
    • 弹出框组件 (Popover)
    • 气泡确认框组件 (Popconfirm)
    • 卡片组件 (Card)
    • 走马灯组件 (Carousel)
    • 折叠面板组件 (Collapse)
    • 时间线组件 (Timeline)
      • 1. 基本用法
        • Timeline 属性
        • Timeline-Item 属性
        • Timeline-Item 插槽
      • 2. 时间线常用示例
        • 自定义节点颜色和类型
        • 自定义节点图标
        • 时间戳位置和隐藏时间戳
        • 反向排序时间线
      • 3. 总结
    • 分割线组件 (Divider)
    • 日历组件 (Calendar)
    • 图片组件 (Image)
    • 回到顶部组件 (Backtop)
    • 无限滚动 (InfiniteScroll)
    • 无限滚动 (vue-infinite-loading)
    • 抽屉组件 (Drawer)
  • Element-UI
  • 其他组件
scholar
2024-08-12
目录

时间线组件 (Timeline)

# 时间线组件 (Timeline)

Element-UI 的 Timeline 组件用于可视化地呈现时间流信息,通过时间线的形式展现事件的顺序,适用于展示时间顺序的事件或步骤。

提示

Timeline 时间线组件官方文档:https://element.eleme.cn/#/zh-CN/component/timeline (opens new window)

# 1. 基本用法

基本语法:使用 <el-timeline> 标签作为容器,内部包含多个 <el-timeline-item>,每个 el-timeline-item 都表示时间线中的一个节点。

<template>
  <el-timeline>
    <el-timeline-item
      v-for="(item, index) in timelineData"
      :key="index"
      :timestamp="item.timestamp"
      :type="item.type"
      :color="item.color">
      {{ item.content }}
    </el-timeline-item>
  </el-timeline>
</template>

<script>
export default {
  data() {
    return {
      timelineData: [
        { timestamp: '2024-08-01', content: '事件 1', type: 'primary', color: '' },
        { timestamp: '2024-08-05', content: '事件 2', type: 'success', color: '' },
        { timestamp: '2024-08-10', content: '事件 3', type: 'danger', color: '' },
        { timestamp: '2024-08-15', content: '事件 4', type: 'warning', color: '' }
      ]
    };
  }
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
  • 时间戳:通过 timestamp 属性显示每个节点的时间戳。
  • 节点类型:通过 type 属性设置节点的类型(如 primary、success、warning、danger、info),从而影响节点的颜色和风格。
  • 节点颜色:使用 color 属性自定义节点的颜色,可使用 hsl、hsv、hex 或 rgb 格式。
  • image-20240811210203499

# Timeline 属性

参数 说明 类型 可选值 默认值
reverse 指定节点排序方向,默认为正序 boolean — false

# Timeline-Item 属性

参数 说明 类型 可选值 默认值
timestamp 时间戳 string — —
hide-timestamp 是否隐藏时间戳 boolean — false
placement 时间戳位置 string top / bottom bottom
type 节点类型 string primary / success / warning / danger / info —
color 节点颜色 string hsl / hsv / hex / rgb —
size 节点尺寸 string normal / large normal
icon 节点图标 string — —

# Timeline-Item 插槽

名称 说明
— Timeline-Item 的内容
dot 自定义节点

# 2. 时间线常用示例

# 自定义节点颜色和类型

通过设置 type 和 color 属性,可以为每个节点自定义不同的颜色和类型。

<template>
  <el-timeline>
    <el-timeline-item
      timestamp="2024-08-01"
      type="primary"
      color="#409EFF">
      节点 1 - Primary
    </el-timeline-item>
    <el-timeline-item
      timestamp="2024-08-05"
      type="success"
      color="#67C23A">
      节点 2 - Success
    </el-timeline-item>
    <el-timeline-item
      timestamp="2024-08-10"
      type="danger"
      color="#F56C6C">
      节点 3 - Danger
    </el-timeline-item>
    <el-timeline-item
      timestamp="2024-08-15"
      type="warning"
      color="#E6A23C">
      节点 4 - Warning
    </el-timeline-item>
  </el-timeline>
</template>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
  • 节点颜色:通过 color 属性设置节点的颜色,如 #409EFF、#67C23A 等。
  • 节点类型:通过 type 属性设置节点的类型,影响节点的样式。
  • image-20240811210312172

# 自定义节点图标

可以通过 icon 属性为节点设置自定义图标,也可以通过 slot 插槽完全自定义节点内容。

<template>
  <el-timeline>
    <el-timeline-item
      timestamp="2024-08-01"
      icon="el-icon-more">
      自定义图标节点 1
    </el-timeline-item>
    <el-timeline-item
      timestamp="2024-08-05">
      <template v-slot:dot>
        <i class="el-icon-info"></i>
      </template>
      自定义节点内容 2
    </el-timeline-item>
  </el-timeline>
</template>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  • 自定义图标:通过 icon 属性为节点添加图标,也可以通过 dot 插槽完全自定义节点内容。
  • 自定义节点内容:使用 dot 插槽可以自定义节点的内容,如图标、文本或其他 HTML 元素。
  • image-20240811210339628

# 时间戳位置和隐藏时间戳

可以通过 placement 属性设置时间戳的位置,通过 hide-timestamp 属性隐藏时间戳。

<div class="block">
  <el-timeline>
    <el-timeline-item timestamp="2018/4/12" placement="top">
      <el-card>
        <h4>更新 Github 模板</h4>
        <p>王小虎 提交于 2018/4/12 20:46</p>
      </el-card>
    </el-timeline-item>
    <el-timeline-item timestamp="2018/4/3" placement="top">
      <el-card>
        <h4>更新 Github 模板</h4>
        <p>王小虎 提交于 2018/4/3 20:46</p>
      </el-card>
    </el-timeline-item>
    <el-timeline-item timestamp="2018/4/2" placement="top">
      <el-card>
        <h4>更新 Github 模板</h4>
        <p>王小虎 提交于 2018/4/2 20:46</p>
      </el-card>
    </el-timeline-item>
  </el-timeline>
</div>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  • 时间戳位置:通过 placement 属性设置时间戳在顶部或底部。
  • 隐藏时间戳:使用 hide-timestamp 属性可以隐藏时间戳。
  • image-20240811211040766

# 反向排序时间线

通过设置 reverse 属性,可以实现时间线的反向排序。


 


















<template>
  <el-timeline :reverse="true">
    <el-timeline-item
      timestamp="2024-08-15"
      type="warning">
      最新事件在最上面
    </el-timeline-item>
    <el-timeline-item
      timestamp="2024-08-10"
      type="danger">
      较早的事件
    </el-timeline-item>
    <el-timeline-item
      timestamp="2024-08-05"
      type="success">
      更早的事件
    </el-timeline-item>
  </el-timeline>
</template>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  • 反向排序:通过 reverse 属性可以让时间线按照时间倒序显示。
  • image-20240811210504275

# 3. 总结

  • 灵活的节点自定义:Timeline 组件支持自定义节点的颜色、类型、图标和内容,提供了极大的灵活性。
  • 多样的时间戳配置:通过 placement 和 hide-timestamp 属性,可以控制时间戳的位置和显示方式。
  • 事件顺序控制:通过 reverse 属性,时间线可以正序或反序显示,适应不同的时间流展示需求。
  • 插槽支持:通过 slot 插槽,可以完全自定义节点的内容和样式,使得时间线更加丰富和个性化。

Timeline 组件在展示时间流信息时非常直观和实用,适用于各种需要展示时间顺序的场景。通过自定义节点内容和样式,可以灵活地满足不同的设计和展示需求。

编辑此页 (opens new window)
上次更新: 2024/12/28, 18:32:08
折叠面板组件 (Collapse)
分割线组件 (Divider)

← 折叠面板组件 (Collapse) 分割线组件 (Divider)→

Theme by Vdoing | Copyright © 2019-2025 程序员scholar
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式