vue如何实现自定义步骤条

 更新时间:2023年12月02日 16:37:16   作者:dearqz  
这篇文章主要介绍了vue如何实现自定义步骤条问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue自定义步骤条

首先看一下实现的效果:

来看看实现过程:

公共插件

<!-- Step.vue  -->
<template>
  <div class="stepOut">
    <ul>
      <li class="stepItem" v-for="(stepItem, index) in stepInfo.list" :key="index">
        <!-- 模拟步骤条的节点,此处为圆圈 -->
        <div :class="stepInfo.step >= index+1 ? 'icon active':'icon'"></div>
        <!-- 模拟步骤条连接线,动态显示  -->
        <div :class="stepInfo.step >= index+2 ? 'line lineActive':'line'" v-show="index!==stepInfo.list.length-1"></div>
        <!-- 步骤名称  -->
        <p class="stepStatus">{{stepItem.status}}</p>
        <!-- 步骤时间  -->
        <p class="statusTime">{{stepItem.statusTime}}</p>
      </li>
    </ul>
  </div>
</template>
<script>
export default {
  name: 'steps',
  props: {
    // 传递步骤参数
    stepInfo: {
      type: Object,
      default: function () {
        return {
          list: [],
          step: 0
        }
      }
    }
  }
}
</script>
<style lang="less" scoped>
.stepOut {
  width: 100%;
  height: 70px;
  display: flex;
  justify-content: center;
  .stepItem {
    width: 260px;
    height: 70px;
    float: left;
    font-family: SimSun;
    font-size: 16px;
    text-align: center;
    position: relative;
    .icon {
      width: 13px;
      height: 13px;
      border-radius: 50%;
      background: rgba(226, 226, 226, 1);
      margin: 0 auto;
      position: relative;
      z-index: 888;
    }
    .active {
      background-color: green;
    }
    .line {
      position: absolute;
      top: 6px;
      left: 50%;
      border-bottom: 1px dashed rgba(3, 2, 2, 0.7);
      width: 260px;
      z-index: 111;
    }
    .lineActive {
      border-bottom: 1px solid green;
    }
    .stepStatus {
      color: rgba(87, 87, 87, 1);
      line-height: 36px;
    }
    .statusTime {
      color: rgba(87, 87, 87, 1);
      opacity: 0.5;
    }
  }
}
</style>

使用

<template>
  <div class="main">
    <Steps :stepInfo="stepInfo"></Steps>
  </div>
</template>
<script>
import Steps from '@/components/Steps'
export default {
  components: { Steps },
  data () {
    return {
      stepInfo: {
        list: [{ status: '提现申请提交成功,令额冻结', statusTime: '2019-11-8 12:12:12' },...],
        step: 2
      }
    }
  }
}
</script>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue中数据绑定值(字符串拼接)的几种实现方法

    vue中数据绑定值(字符串拼接)的几种实现方法

    这篇文章主要介绍了vue中数据绑定值(字符串拼接)的几种实现方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Vue2.0/3.0双向数据绑定的实现原理详解

    Vue2.0/3.0双向数据绑定的实现原理详解

    这篇文章主要给大家介绍了关于Vue2.0/3.0双向数据绑定的实现原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 基于VuePress 轻量级静态网站生成器的实现方法

    基于VuePress 轻量级静态网站生成器的实现方法

    VuePress是一个基于Vue的轻量级静态网站生成器以及为编写技术文档而优化的默认主题。这么文章给大家详细介绍了vuepress 静态网站生成器的方法,需要的朋友参考下吧
    2018-04-04
  • vue 需求 data中的数据之间的调用操作

    vue 需求 data中的数据之间的调用操作

    这篇文章主要介绍了vue 需求 data中的数据之间的调用操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • 超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法

    超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法

    这篇文章主要介绍了超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • vue 项目@change多个参数传值多个事件的操作

    vue 项目@change多个参数传值多个事件的操作

    这篇文章主要介绍了vue 项目@change多个参数传值多个事件的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • vue播放flv、m3u8视频流(监控)的方法实例

    vue播放flv、m3u8视频流(监控)的方法实例

    随着前端大屏页面的逐渐壮大,客户的...其中实时播放监控的需求逐步增加,视频流格式也是有很多种,用到最多的.flv、.m3u8,下面这篇文章主要给大家介绍了关于vue播放flv、m3u8视频流(监控)的相关资料,需要的朋友可以参考下
    2023-04-04
  • Vue组件通信的几种实现方法

    Vue组件通信的几种实现方法

    这篇文章主要介绍了Vue组件通信的几种实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 一文搞懂vue编译器(DSL)原理

    一文搞懂vue编译器(DSL)原理

    本文主要介绍了一文搞懂vue编译器(DSL)原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Vuex中mutations的用法及说明

    Vuex中mutations的用法及说明

    这篇文章主要介绍了Vuex中mutations的用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01

最新评论