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

news/2024/7/10 1:23:58 标签: vue, html, 组件化, elementui

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

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

<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:["第一", "第二", "第三", "第四步骤", "五","马上结束","结束","收尾"]

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


http://www.niftyadmin.cn/n/1250164.html

相关文章

从prolog到LTN,AI的逻辑推理能力1

趁着假期快速阅读了一些关于逻辑编程的文献&#xff0c;喜欢上了逻辑编程这种编程方式。然后&#xff0c;顺藤摸瓜&#xff0c;果然&#xff0c;神经网络逻辑编程&#xff0c;学术界的研究也有了初步的成果&#xff0c;例如Logic Tensor Networks 、Neural Logic Machines 等等…

机器学习VS动量、反转效应,量化交易1

这是2018的一篇论文《A Machine Learning View on Momentum and Reversal Trading》的观后感。作者探索并比较了各种机器学习技术&#xff0c;包括决策树&#xff08;DT&#xff09;&#xff0c;支持向量机&#xff08;SVM&#xff09;&#xff0c;多层感知器神经网络&#xff…

css3自适应布局单位vw,vh

根据CSS3规范&#xff0c;视口单位主要包括以下4个&#xff1a; 1.vw&#xff1a;1vw等于视口宽度的1%。2.vh&#xff1a;1vh等于视口高度的1%。3.vmin&#xff1a;选取vw和vh中最小的那个。4.vmax&#xff1a;选取vw和vh中最大的那个。<div style"max-height: 70vh; o…

日常代码笔记,python的推导式性能评估

写代码跟写作类似&#xff0c;需要不断地练习&#xff0c;不断地阅读&#xff0c;获得灵感&#xff0c;然后反复修改&#xff08;重构&#xff09;。写代码有代码补全工具&#xff0c;然后我们还是需要不断地练习、实验自己的新想法。之前对python的推导式没有仔细去了解&#…

angular+ionic项目启动报错There are multiple entries in the deeplink config with the segment of drug

启动报错&#xff1a;如下 There are multiple entries in the deeplink config with the segment of drug at new BuildError (D:\yzz\turtle_web_app\node_modulesionic\app-scripts\dist\util\errors.js:16:28) at D:\yzz\turtle_web_app\node_modulesionic\app-scripts\dis…

除了扮演小说主人公,微软小冰还有230项技能

自2014年7月以来&#xff0c;小冰已经发布了230项技能&#xff0c;相当于每周近一项新技能。经过5年的打磨&#xff0c;小冰已经开始在各个领域进行商业化布局了。最新一则商业应用是在小说上&#xff1a;01阅文集团与微软小冰希望用AI活化小说角色微软小冰经过学习100部小说的…

智能人工建筑设计

本文是社区成员的文章~分享给大家~写在前面&#xff1a;自上一次文章之后&#xff0c;收到了许多的交流&#xff0c;也看到了更多的相关的文章&#xff0c;获益匪浅。也有许多读者希望能更多地从正面谈一谈人工智能&#xff0c;算法&#xff0c;参数化&#xff0c;建筑设计这方…

idea vue跳转Cannot find declaration to go to

新建一个js文件 将代码复制进去 const path require(path) module.exports {resolve: {alias: {: path.resolve(__dirname, src)}} }打开Settings 打开webpack&#xff0c;选中刚刚的文件 保存后重启项目 完成&#xff0c;已经可以跳转了