Vue实现时间轴效果

 更新时间:2022年03月03日 11:05:37   作者:theMuseCatcher  
这篇文章主要为大家详细介绍了Vue实现时间轴效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Vue实现时间轴效果的具体代码,供大家参考,具体内容如下

时间轴上的时间点数和描述文本均可自定义设置

效果图如下:

①创建时间轴组件Timeline.vue:

<template>
  <div class="m-timeline-area">
    <div class="m-timeline">
      <div
        :class="['m-timeline-item', {'last': n === totalDots}]"
        v-for="n in totalDots"
        :key="n">
        <div class="u-tail"></div>
        <div class="u-dot"></div>
        <div class="u-content">
          <p>{{ timelineDesc[n-1] }}</p>
        </div>
      </div>
    </div>
  </div>
</template>
<script>
export default {
  name: 'Timeline',
  props: {
    timelineDesc: {
      type: Array,
      default: () => {
        return []
      }
    },
    totalDots: {
      type: Number,
      default: 3
    }
  }
}
</script>
<style lang="less" scoped>
@blue: #1890ff;
@green: #52c41a;
@red: #f5222d;
@gray: rgba(0,0,0,.25);
.m-timeline-area {
  width: 360px;
  margin: 30px auto;
  .m-timeline {
    .m-timeline-item {
      position: relative;
      padding-bottom: 30px;
      .u-tail {
        position: absolute;
        top: 10px;
        left: 5px;
        height: calc(100% - 10px);
        border-left: 2px solid #e8e8e8; // 实线
        // border-left: 2px dotted #e8e8e8; // 点线
        // border-left: 2px dashed #e8e8e8; // 虚线
      }
      .u-dot {
        position: absolute;
        width: 8px;
        height: 8px;
        border: 2px solid @blue;
        border-radius: 50%;
      }
      .u-content {
        position: relative;
        top: -6px;
        margin-left: 25px;
        word-break: break-word;
        line-height: 24px;
      }
    }
    .last {
      .u-tail {
        display: none;
      }
    }
  }
}
</style>

②在要使用的页面引入:

<Timeline :totalDots="5" :timelineDesc="timelineDesc" />
import Timeline from '@/components/Timeline'
components: {
    Timeline
}
timelineDesc: ['Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.', 'Create a services site', 'Create a services site', 'Create a services site', 'Create a services site']

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • vue3的介绍和两种创建方式详解(cli和vite)

    vue3的介绍和两种创建方式详解(cli和vite)

    这篇文章主要介绍了vue3的介绍和两种创建方式(cli和vite),vue3对比vue2带来的性能提升有很多优势,总体来说Vue 3在性能、开发体验和代码组织方面都有所改进,使得它更加适合于大型、复杂的应用程序开发,需要的朋友可以参考下
    2023-04-04
  • vue实现百度搜索功能

    vue实现百度搜索功能

    这篇文章主要为大家详细介绍了vue实现百度搜索功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • 浅析vue中的provide / inject 有什么用处

    浅析vue中的provide / inject 有什么用处

    这篇文章主要介绍了vue中的provide / inject 有什么用处,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • vue 对axios get pust put delete封装的实例代码

    vue 对axios get pust put delete封装的实例代码

    在本篇文章里我们给各位整理的是一篇关于vue 对axios get pust put delete封装的实例代码内容,有需要的朋友们可以参考下。
    2020-01-01
  • 聊聊vue集成sweetalert2提示组件的问题

    聊聊vue集成sweetalert2提示组件的问题

    这篇文章主要介绍了vue 集成 sweetalert2 提示组件的问题,本文通过项目案例实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-11-11
  • 详解vue项目中如何加载markdown

    详解vue项目中如何加载markdown

    这篇文章主要为大家详细介绍了在vue项目中如何加载markdown,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-11-11
  • Vue中如何使用Map键值对传参详析

    Vue中如何使用Map键值对传参详析

    最近在做一个vue的项目,碰到一点关于Map键值对传参的问题,下面这篇文章主要给大家介绍了关于Vue中如何使用Map键值对传参的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • 关于vue v-for循环解决img标签的src动态绑定问题

    关于vue v-for循环解决img标签的src动态绑定问题

    今天小编就为大家分享一篇关于vue v-for循环解决img标签的src动态绑定问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • vue 实现可拖曳的树状结构图

    vue 实现可拖曳的树状结构图

    这篇文章主要介绍了vue 实现可拖曳的树状结构图,帮助大家更好的理解和学习使用vue框架,感兴趣的朋友可以了解下
    2021-04-04
  • vue项目API接口get请求传递参数方式

    vue项目API接口get请求传递参数方式

    这篇文章主要介绍了vue项目API接口get请求传递参数方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07

最新评论