vue步骤条组件,流程显示组件

先放个效果图
在这里插入图片描述
在这里插入图片描述

要求是要在列表里面显示当前的流程状态如何,找了半天没找到合适的组件,就自己写了一个,如果有需要可以直接拿来用,我自己调试了半天才调试好样式,大家看看有没有要该的地方,不太会写前端
下面展示一些 内联代码片

<template>
  <div class="status">
    <ul>
      <li
        v-for="(item,index) in data"
        :class="steps*2===index?'current':steps*2>index?'finish':'wait'"
      >
        <div v-if="item===''" class="arrows"><i class='icon'></i></div>
        <div v-else-if="item.length<=2" class="show">{{ item }}</div>
        <el-tooltip v-else class="item" effect="dark">
          <div slot="content"> {{ item }}</div>
          <div class="show"> {{ item }}</div>
        </el-tooltip>
      </li>
    </ul>
  </div>
</template>
<script>

export default {
  props: {
    setData: Array,
    steps: Number,
  },
  created() {
    this.forr();
  },
  data() {
    return {
      data: []
    }
  },
  methods: {
    forr() {
      this.data = []
      for (let i = 0; i < this.setData.length; i++) {
        if (i > 0) {
          this.data.push('')
        }
        this.data.push(this.setData[i]);
      }
    }
  },
}
</script>

<style scoped>
.status {
  width: 400px;
  *text-align: center;
}

ul {
  margin: 0;
  overflow: hidden;
  zoom: 1;
  padding: 0;
  height: 31px;
}

li {
  height: 30px;
  float: left;
  display: inline;
  font-size: 12px;
  line-height: 0px;
  margin: 0px 0px 0px 0px;
}

.show {
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: center;
  height: 30px;
  width: 30px;
  Line-height: 30px;
  border-radius: 50%;
  overflow: hidden;
}
/*箭头图标*/
.icon{
  display: inline-block;
  width: 20px;
  height: 30px;
  background-image: url("img/arrows.png");/* 需要在本地下载一个图片引入,可去阿里图标库寻找*/
  background-position: center center;
  background-size: 25px 25px;
  background-repeat: no-repeat;
}
/*当前步骤背景色*/
.current .show {
  background: #4b8aff;
}
/*已完成步骤背景色*/
.finish .show {
  background: #24c646;
}
/*未开始步骤背景色*/
.wait .show {
  background: #b8bbbd;
}
</style

使用方法

调用组件传入,每一步的名称和当前是多少步

调用组件并传参

在这里插入图片描述

参数

在这里插入图片描述

我是写在列表中的,附上代码:

 <testStatus :steps="status" :set-data="SetData" />
 status:2,
 SetData:["第一", "第二", "第三", "第四步骤", "五","马上结束","结束","收尾"]

只需要传入两个参数就可以使组件生效,
组件里面没有加判断方法,请按照常规逻辑传值
只能显示两个字符,如果超出会被隐藏,鼠标放上去显示全称

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现Vue步骤线动画效果,可以通过使用CSS动画以及Vue 3的过渡效果来实现。首先,使用CSS动画来控制线段的运动效果。可以通过设置关键帧和过渡效果,例如@keyframes和transition属性,来控制线段的位置和样式的变。这样可以实现线的平滑移动和渐变效果。 接下来,可以结合Vue 3的过渡效果来实现平滑的动画过渡效果。Vue 3提供了过渡组件和过渡类名,可以在组件进入和离开时添加类名,从而触发过渡效果。可以使用Vue 3的<transition>组件来包裹线段元素,并设置进入和离开时的过渡类名,从而实现线段的动态变效果。 要实现带箭头的线段运动动画,可以使用Vue 3中提供的canvas和requestAnimationFrame来实现。具体步骤如下: 1. 在Vue组件中,创建一个canvas元素,并设置其宽度和高度。 2. 在canvas中绘制线段,并设置线段的起点和终点。 3. 使用requestAnimationFrame方法创建一个循环,在每一帧中更新线段的位置和样式。 4. 根据需要,可以添加箭头效果,例如在线段末端绘制一个三角形箭头。 通过以上步骤,就可以实现Vue步骤线动画效果。可以根据具体的需求和设计来设置线段的样式、动画效果以及箭头效果。同时,可以参考Vue 3的过渡和动画指南以获取更多关于过渡效果的使用方法和技巧。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值