当前位置: 首页 > news >正文

< elementUI组件样式及功能补全: 实现点击steps组件跳转对应步骤 >

文章目录

  • 👉 前言
  • 👉 一、效果演示
  • 👉 二、点击steps跳转效果实现
  • 👉 三、实现案例
  • 往期内容 💨


👉 前言

在 Vue + elementUi 开发中,elementUI中steps步骤条组件只提供了change方法,并未提供各个步骤的点击跳转方法。在实际项目使用中,如果步骤条并非一步一步进行,而是有步骤跳转。那么就需要自己去自定义DIY了。

接下来,简单阐述下,开发中使用方法!


👉 一、效果演示

话不多说,先上效果图! 白嫖万岁!当然,如果有帮助,希望不要吝啬你的点赞呀!

在这里插入图片描述

👉 二、点击steps跳转效果实现

通过为 el-step 添加 @click.native 属性,拦截标签原生点击事件!

注意:在vue3中 ‘.native’ 修饰符在vue3中被弃用了,
解决方法:把 ‘.native’ 换成 ‘.enter’

👉 三、实现案例

> HTML模板

<template>
<div class="stepBox"><div :class="'step-line' + (stepStatuList['开展整改'] ? ' isSuccess' : '')"></div><span :class="'el-icon-caret-top point num_'+ active"></span><el-steps:active="active"align-centerfinish-status="success"@change="stepChange"><el-steptitle="开展核实":status="active == 0 ? 'success' : stepStatuList['开展核实'] ? 'process' : 'wait'"@click.native="stepStatuList['开展核实'] ? stepClick(0) : () => {}":style="{cursor: (stepStatuList['开展核实'] ? 'pointer' : 'not-allowed')}"></el-step><el-steptitle="核实审核":status="active == 1 ? 'success' : stepStatuList['核实审核'] ? 'process' : 'wait'"@click.native="stepStatuList['核实审核'] ? stepClick(1) : () => {}":style="{cursor: (stepStatuList['核实审核'] ? 'pointer' : 'not-allowed')}"></el-step><el-steptitle="开展整改":status="active == 2 ? 'success' : stepStatuList['开展整改'] ? 'process' : 'wait'"@click.native="stepStatuList['开展整改'] ? stepClick(2) : () => {}":style="{cursor: (stepStatuList['开展整改'] ? 'pointer' : 'not-allowed')}"></el-step><el-steptitle="整改审核":status="active == 3 ? 'success' : stepStatuList['整改审核'] ? 'process' : 'wait'"@click.native="stepStatuList['整改审核'] ? stepClick(3) : () => {}":style="{cursor: (stepStatuList['整改审核'] ? 'pointer' : 'not-allowed')}"></el-step></el-steps></div>
</template>

> Js模板

stepClick(step) {this.active = step// this.stepChange(step)
},
// 步骤切换
stepChange(step) {this.multipleSelection = []this.toggleSelection([])this.$refs['params'].resetFields();this.$router.push({query:merge(this.$route.query,{'active':step})})this.getStepById()// if(step == 1) {//   this.detailListType = '-1'// } else {//   this.detailListType = '0'// }this.detailListType = '0'this.getColumnArray(() => {if((step === 0 || step === 2) && this.tableData.length === 0) {this.detailListType = '1'this.getColumnArray()}})
},

> CSS 模板

.stepBox {width: 80%;padding: 25px 0 15px;margin: 0 auto 0;position: relative;// border-top: 2px solid #a2dcff;// border-bottom: 2px solid #a2dcff;.point{color: #4298f3!important;font-size: 30px;position: absolute;top: 50px;}.point.num_0 {left: calc(100%/8 - 10px);}.point.num_1 {left: calc(100%/8*3 - 10px);}.point.num_2 {left: calc(100%/8*5 - 10px);}.point.num_3 {left: calc(100%/8*7 - 10px);}.point.num_4 {display: none;}.step-line {width: calc(50% - 5px);height: 30px;position: absolute;left: calc(100%/8);top: -15px;border: 2px solid #b3b3b3;border-bottom: 0;&::after {content: '>>';color: #b3b3b3;background: #fff;position: absolute;top: 10px;right: -16.5px;font-size: 18px;font-weight: bold;transform: rotate(90deg);}}.step-line.isSuccess {border: 2px solid #4298f3;border-bottom: 0;&::after {content: '>>';color: #4298f3;background: #fff;position: absolute;top: 10px;right: -16.5px;font-size: 18px;font-weight: bold;transform: rotate(90deg);}}
}/* 用于覆盖element的原样式 */
/deep/ {
.el-steps {display: flex;justify-content: center;position: relative;transition: all .4s;>div {&:nth-child(2) {.el-step__line {display: none;}}}.el-step__main {position: absolute;top: -28%;left: 45%;z-index: 20;.el-step__title {font-family: MicrosoftYaHei;font-size: 13px;color: #c1e6f3;text-align: center;font-weight: 600;}.el-step__title.is-success {color: #fff;}.el-step__title.is-wait {color: #fff;}.el-step__title.is-process {font-family: MicrosoftYaHei;font-size: 13.5px;color: #4298f3;text-align: center;font-weight: bold;}}.el-step__head.is-success {>.el-step__line {width: calc(100%);// position: relative;background: #4298f3;// &::after {//   content: '>>';//   color: #4298f3;//   position: absolute;//   top: -9px;//   right: -28px;//   font-size: 17px;//   font-weight: bold;// }}}.el-step__icon is-text {}.el-step__line {width: calc(40%)!important;margin-left: calc(25% + 20px);height: 1.5px;z-index: 5;>.el-step__line-inner {display: none;}}.el-step__head.is-wait,.el-step__head.is-process{>.el-step__line {width: calc(100%);// position: relative;background: #b3b3b3;// &::after {//   content: '>>';//   color: #b3b3b3;//   position: absolute;//   top: -9px;//   right: -28px;//   font-size: 17px;//   font-weight: bold;// }}}.el-step__icon-inner {display: block;position: absolute;left: 20px;}.el-step__head.is-process {.el-step__icon-inner {color: #4298f3;}}.el-step__head.is-wait {.el-step__icon-inner {color: #fff;}}.el-step__head.is-process {.el-step__icon.is-text {background-color: #fff;width: 60%;border-radius: 0;position: relative;text-align: left;&::after {content: "";position: absolute;right: -9.8px;width: 15px;height: 15px;background-color: #fff; /* 模块背景为透明 */border-color: #4298f3;border-style: solid;border-width: 2.2px 2.2px 0 0;margin: 300px auto;transform: rotate(45deg); /*箭头方向可以自由切换角度*/}&::before {content: "";position: absolute;left: -10.5px;width: 15px;height: 15px;background-color: #fff; /* 模块背景为透明 */border-color: #4298f3;border-style: solid;border-width: 2.2px 2.2px 0 0;border-radius: 2px;margin: 300px auto;transform: rotate(45deg); /*箭头方向可以自由切换角度*/}}}.el-step__head.is-success{.el-step__icon.is-text {background-color: #4298f3;width: 60%;border-radius: 0;position: relative;text-align: left;&::after {content: "";position: absolute;right: -10.8px;width: 17px;height: 17px;background-color: #4298f3; /* 模块背景为透明 */margin: 300px auto;transform: rotate(45deg); /*箭头方向可以自由切换角度*/}&::before {content: "";position: absolute;left: -10.5px;width: 17px;height: 17px;background-color: #fff; /* 模块背景为透明 */margin: 300px auto;transform: rotate(45deg); /*箭头方向可以自由切换角度*/}}}.el-step__head.is-wait {.el-step__icon.is-text {background-color: #b3b3b3;width: 60%;border-radius: 0;position: relative;text-align: left;&::after {content: "";position: absolute;right: -10.8px;width: 17px;height: 17px;background-color: #b3b3b3; /* 模块背景为透明 */margin: 300px auto;transform: rotate(45deg); /*箭头方向可以自由切换角度*/}&::before {content: "";position: absolute;left: -10.5px;width: 17px;height: 17px;background-color: #fff; /* 模块背景为透明 */margin: 300px auto;transform: rotate(45deg); /*箭头方向可以自由切换角度*/}}}.el-step__head.is-success,.el-step__head.is-process {color: #fff;border-color: #4298f3;// background: #4298f3;}
}
}

案例较为粗浅,仅供参考!


往期内容 💨

🔥 < CSDN周赛解析:第 28 期 >

🔥 < elementUi 组件插件: el-table表格拖拽修改列宽及行高 及 使用注意事项 >

🔥 < 每日小技巧:N个很棒的 Vue 开发技巧, 持续记录ing >

🔥 < CSDN周赛解析:第 27 期 >

相关文章:

< elementUI组件样式及功能补全: 实现点击steps组件跳转对应步骤 >

文章目录&#x1f449; 前言&#x1f449; 一、效果演示&#x1f449; 二、点击steps跳转效果实现&#x1f449; 三、实现案例往期内容 &#x1f4a8;&#x1f449; 前言 在 Vue elementUi 开发中&#xff0c;elementUI中steps步骤条组件只提供了change方法&#xff0c;并未提…...

【学习笔记】互联网金融:芝麻信用分的建模过程

学习资料&#xff1a; 数据分析学习随记 | 互联网金融行业2C授信模型(芝麻信用) 1. 背景 互联网金融的本质是风控。 1.1 数据分析师的角色 数据分析师在金融行业基本上有两种角色&#xff1a; 1.1.1 数据建模师 偏算法&#xff0c;但要很懂业务。要求对算法的理解较深&am…...

Linux C/C++或者嵌入式开发到底有没有35岁危机?

一个读者问了一个问题&#xff1a; 我现在25岁&#xff0c;双非一本本科。在深圳上班&#xff0c;做嵌入式开发&#xff0c;打算走Linux C/C开发&#xff0c;工资目前一般。读了前辈写的很多博客之后&#xff0c;觉得很棒。我现在有一些疑问。 1.最近互联网裁员很厉害嘛&#x…...

国内领先的十大API接口排行

应用程序编程接口API即&#xff08;Application Programming Interface&#xff09;&#xff0c;现在众多企业的应用系统中常用的开放接口&#xff0c;对接相应的系统、软件功能&#xff0c;简化专业化的程序开发。 一、百度API 百度API超市开通1136个数据服务接口。 网址&a…...

【Linux】Kickstart 配置U盘自动化安装Linux系统

文章目录前言一、刻录USB二、配置以BIOS方式启动引导2.1 引导文件配置2.2 KS文件配置三、以EFI方式启动引导3.1 引导文件3.2 KS文件四、 总结前言 之前安装系统&#xff0c;例如在VMware虚拟机中或物理服务器中&#xff0c;都是根据图形界面上的指示进行下一步这类的操作。 现…...

【Spring MVC】这一篇,带你从入门到进阶

目录 1、什么是MVC&#xff1f; 2、什么是 Spring MVC 3、如何学好 Spring MVC&#xff1f; 3.1、如何创建 Spring MVC 项目 3.1.1、使用Spring Initializr创建&#xff08;推荐&#xff09; 3.2、将 Spring 程序与用户&#xff08;浏览器&#xff09;联通 3.3、基础注解…...

InstallAware Multi-Platform updated

InstallAware Multi-Platform updated 原生ARM&#xff1a;为您的内置设置、IDE和整个工具链添加了Apple macOS和Linux ARM构建。 本地化&#xff1a;引擎内多语言感知&#xff0c;可再分发工具&#xff0c;具有资产隔离功能&#xff0c;使您的IP保持安全。 模板&#xff1a;将…...

Spring Batch 高级篇-多线程步骤

目录 引言 概念 案例 转视频版 引言 接着上篇&#xff1a;Spring Batch ItemWriter组件&#xff0c;了解Spring Batch ItemWriter处理组件后&#xff0c;接下来一起学习一下Spring Batch 高级功能-多线程步骤 概念 默认的情况下&#xff0c;步骤基本上在单线程中执行&…...

关于iframe一些通讯的记录(可适用工作流审批)

一.知识点(1).我们可以通过postMessage(发送方)和onmessage(接收方)这两个HTML5的方法, 来解决跨页面通信问题&#xff0c;或者通过iframe嵌套的不同页面之间的通信a.父页面代码如下<div v-if"src" class"iframe"><iframeref"iframe"id…...

JavaWeb

1、静态Web html、css 2、动态Web 提供给所有人看的数据始终会发生变化。技术栈&#xff1a;Servlet/JSP&#xff0c;ASP&#xff0c;PHP。 Web应用程序&#xff1a;可以提供浏览器访问的程序。 1、这个统一的web资源会被放在同一个文件夹下&#xff0c;web应用程序-->Tom…...

ip段192.168.1.0/24和192.168.0.0/16

192.168.1.0/24192.168.1.1 ~ 192.168.1.254前24位为网络前缀&#xff0c;后8位代表主机号。如下1100 0000&#xff0c;1010 1000&#xff0c;0000 0001&#xff0c;0000 0000192.168.0.0/16192.168.0.1 ~ 192.168.255.254前16位为网络前缀&#xff0c;后16位代表主机号。如下1…...

《爆肝整理》保姆级系列教程python接口自动化(二十二)--unittest执行顺序隐藏的坑(详解)

简介 大多数的初学者在使用 unittest 框架时候&#xff0c;不清楚用例的执行顺序到底是怎样的。对测试类里面的类和方法分不清楚&#xff0c;不知道什么时候执行&#xff0c;什么时候不执行。虽然或许通过代码实现了&#xff0c;也是稀里糊涂的一知半解&#xff0c;这样还好&am…...

【第二章 IOC操作bean管理(XML注入其他类型属性(字面量,外部bean,内部bean,级联赋值)、XML注入集合属性)】

第二章 IOC操作bean管理&#xff08;XML注入其他类型属性&#xff08;字面量&#xff0c;外部bean&#xff0c;内部bean&#xff0c;级联赋值&#xff09;、XML注入集合属性&#xff09; 1.IOC操作bean管理&#xff08;XML注入其他类型属性&#xff09; &#xff08;1&#xf…...

Kotlin-枚举和印章

kotlin-枚举 枚举也是一个对象&#xff0c;枚举对象的定义需要使用enum关键字 枚举对象可以定义函数 假设定义一个星期枚举对象。就是一下写法 enum class Week {星期一,星期二,星期三,星期四,星期五,星期六,星期日;//打印星期几fun printWeek(){println("这是星期枚举对…...

_linux (TCP协议通讯流程)

文章目录TCP协议通讯流程TCP 和 UDP 对比TCP协议通讯流程 下图是基于TCP协议的客户端/服务器程序的一般流程: 服务器初始化: 调用socket, 创建文件描述符;调用bind, 将当前的文件描述符和ip/port绑定在一起;如果这个端口已经被其他进程占用了, 就会bind失 败;调用listen, 声…...

PMP考试详解,新考纲有什么变化?

一&#xff0c;为什么优先考虑PMP持证人员&#xff1f; PMP证书在我国大型企业、跨国企业、央企/国企等单位的招聘中都比较重视&#xff0c;特别是在许多项目投标环节中&#xff0c;明确标明需要有PMP持证人员&#xff0c;才能在投标、竞标中代表公司有资格承担项目。 除此之…...

C++学习笔记-日期和时间

C中可以使用的日期时间API主要分为两类&#xff1a; C-style 日期时间库&#xff0c;位于头文件中。这是原先<time.h>头文件的C版本。 chrono库&#xff1a;C 11中新增API&#xff0c;增加了时间点&#xff0c;时长和时钟等相关接口。 在C11之前&#xff0c;C编程只能使…...

Nordic nRF芯片FDS模块学习

FDS系统学习 文章目录FDS系统学习一、ROM&#xff0c;RAM&#xff0c;FLASH作用二、ROM,RAM和FLASH在单片中的运作原理三、Flash访问模块FDS用法1. FDS在sdk_config.h中的配置2. fds_register()注册3. fds_record_write()写记录4. fds_record_find()查找5. fds_record_open()读…...

JVM 学习(1)—JVM 与 JMM 内存模型简单理解

一、JVM 内存模型概述 (1) 为什么会出现 JVM 内存模型呢&#xff1f; JVM 内存模型是为规范描述 Java 虚拟机在执行 Java 程序时&#xff0c;将程序中的数据和代码存储到计算机内存中的方式和规则。JVM 内存模型定义 Java 虚拟机所使用的内存结构以及内存区域之间的关系&…...

NMS详解

(类别&#xff0c;坐标1&#xff0c;坐标2&#xff0c;坐标3&#xff0c;坐标4&#xff0c;类别分数) step1&#xff1a;对最后一列分数进行排序 &#xff0c;可以看到类别就被打乱了 step2&#xff1a; 弹出得到selected_bboxes作为基准&#xff0c;减少bbox_list。其实就是准…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测

uniapp 中配置 配置manifest 文档&#xff1a;manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号&#xff1a;4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件&#xff1a; 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...

MyBatis中关于缓存的理解

MyBatis缓存 MyBatis系统当中默认定义两级缓存&#xff1a;一级缓存、二级缓存 默认情况下&#xff0c;只有一级缓存开启&#xff08;sqlSession级别的缓存&#xff09;二级缓存需要手动开启配置&#xff0c;需要局域namespace级别的缓存 一级缓存&#xff08;本地缓存&#…...

深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向

在人工智能技术呈指数级发展的当下&#xff0c;大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性&#xff0c;吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型&#xff0c;成为释放其巨大潜力的关键所在&…...