vue竖向步骤条方式

 更新时间:2023年12月02日 17:07:36   作者:性野喜悲  
这篇文章主要介绍了vue竖向步骤条方式,具有很好的参考价值,希望对大家有所帮助,

效果图

弹框组件代码

<template>
  <el-dialog
    :visible.sync="dialogVisible"
    :append-to-body="true"
    :close-on-click-modal="false"
    :close-on-press-escape="false"
    title
    width="8.2rem"
    custom-class="assistance-dialog"
    center
  >
    <div class="assistance-cont flex-top-start">
      <div class="assistance-code-box">左边</div>
      <div class="assistance-steps flex-column-between">
        <div class="assistance-steps-box">
          <div class="assistance-steps-title">助力步骤</div>
          <div class="assistance-steps-cont">
            <div class="assistance-steps-line"></div>
            <div class="assistance-steps-item-cont">
              <div
                class="assistance-steps-item flex-start"
                v-for="(item, index) in stepsCont"
                :key="index"
              >
                <div class="assistance-steps-item-idx">{{ index + 1 }}</div>
                <div class="assistance-steps-item-name">{{ item }}</div>
              </div>
            </div>
          </div>
        </div>
        <div class="flex-end">
          <el-button type="primary">保存海报</el-button>
        </div>
      </div>
    </div>
  </el-dialog>
</template>
<script>
export default {
  name: "assistance-dialog",
  props: {
    value: {
      type: Boolean,
      default: false,
    },
  },
 
  components: {},
  data() {
    return {
      stepsCont: [
        "保存海报",
        "发送海报给好友",
        "好友扫码登录小程序",
        "助力成功",
      ],
    };
  },
  computed: {
    dialogVisible: {
      get() {
        return this.value;
      },
      set(val) {
        this.$emit("input", val);
      },
    },
  },
  watch: {},
  methods: {},
  created() {},
  mounted() {},
  beforeCreate() {},
  beforeMount() {},
  beforeUpdate() {},
  updated() {},
  beforeDestroy() {},
  destroyed() {},
  activated() {},
};
</script>
<style lang='scss' scoped>
.assistance-dialog {
  .assistance-code-box {
    width: 3.45rem;
    height: 5.07rem;
    background: #f4f6f9;
    border-radius: 0.08rem;
    margin-right: 0.32rem;
  }
  .assistance-steps {
    height: 5.07rem;
    flex: 1;
  }
  .assistance-steps-box {
    width: 100%;
    .assistance-steps-title {
      font-size: 0.21rem;
      font-family: PingFangSC-Medium, PingFang SC;
      font-weight: 500;
      color: #242e42;
      line-height: 0.29rem;
      margin-bottom: 0.24rem;
    }
    .assistance-steps-cont {
      width: 100%;
      position: relative;
    }
    .assistance-steps-line {
      position: absolute;
      width: 0.32rem;
      height: 3.32rem;
      border-left: 1px dashed rgba(0, 101, 255, 1);
      top: 0.3rem;
      left: 0.16rem;
      z-index: 1;
    }
    .assistance-steps-item-cont {
      width: 100%;
      height: 4rem;
      position: absolute;
      z-index: 2;
    }
    .assistance-steps-item:not(:last-child) {
      margin-bottom: 0.8rem;
    }
    .assistance-steps-item-idx {
      width: 0.32rem;
      height: 0.32rem;
      line-height: 0.32rem;
      text-align: center;
      background: #0065ff;
      border-radius: 0.08rem;
      font-size: 0.18rem;
      font-family: PingFangSC-Medium, PingFang SC;
      font-weight: 500;
      color: #ffffff;
      margin-right: 0.16rem;
    }
    .assistance-steps-item-name {
      font-size: 0.18rem;
      font-family: PingFangSC-Medium, PingFang SC;
      font-weight: 500;
      color: #242e42;
      line-height: 0.25rem;
    }
  }
}
</style>

页面引用

<template>
  <div id="index">
    
    <!-- 助力 -->
    <assistance-dialog v-model="showAssistance"></assistance-dialog>
  </div>
</template>
<script>
export default {
  name: "index",
  layout: "default",
  components: {
    
    "assistance-dialog": () =>
      import("@/components/coupon/assistance-dialog.vue"), //助力
  },
  data() {
    return {
    
      showAssistance: true, //助力
    };
  },
  mounted() {
  
  },
  methods: {
   
  },
};
</script>

总结

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

相关文章

  • 浅析vue中$nextTick的作用与原理

    浅析vue中$nextTick的作用与原理

    这篇文章主要为大家详细介绍一下Vue中$nextTick的作用于原理,这也是面试中常常考到的问题,文中的示例代码讲解详细,对我们深入了解Vue有一定的帮助,需要的小伙伴可以参考一下
    2023-10-10
  • vue开发调试神器vue-devtools使用详解

    vue开发调试神器vue-devtools使用详解

    这篇文章主要为大家详细介绍了vue开发调试神器vue-devtools的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 一次vue项目优化的实际操作记录

    一次vue项目优化的实际操作记录

    用vue开发项目上线以后,发现首页加载速度非常慢,如果项目比较大,甚至可能出现10s以上的等待,下面这篇文章主要给大家介绍了关于vue项目优化的相关资料,需要的朋友可以参考下
    2022-09-09
  • Vuex中如何getters动态获取state的值

    Vuex中如何getters动态获取state的值

    这篇文章主要介绍了Vuex中如何getters动态获取state的值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Vue屏幕自适应三种实现方法详解

    Vue屏幕自适应三种实现方法详解

    在实际业务中,我们常用图表来做数据统计,数据展示,数据可视化等比较直观的方式来达到一目了然的数据查看,但在大屏开发过程中,常会因为适配不同屏幕而感到困扰,下面我们来解决一下这个不算难题的难题
    2022-11-11
  • 如何在 Vue.js 中使用第三方js库

    如何在 Vue.js 中使用第三方js库

    本篇文章主要介绍了如何在 Vue.js 中使用第三方js库,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • vue跳转页面的几种方法(推荐)

    vue跳转页面的几种方法(推荐)

    这篇文章主要介绍了vue不同方法跳转页面,本文给大家分享多种方法,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • vue el-form-item如何添加icon和tooltip

    vue el-form-item如何添加icon和tooltip

    这篇文章主要介绍了vue el-form-item如何添加icon和tooltip问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • vue keep-alive的简单总结

    vue keep-alive的简单总结

    这篇文章主要介绍了vue中的keep-alive的相关资料,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下
    2021-01-01
  • vue封装一个右键菜单组件详解(复制粘贴即可使用)

    vue封装一个右键菜单组件详解(复制粘贴即可使用)

    关于vue项目中会出现一些需求,就是右键菜单项的功能实现,下面这篇文章主要给大家介绍了关于vue封装一个右键菜单组件(复制粘贴即可使用)的相关资料,需要的朋友可以参考下
    2022-12-12

最新评论