react 、antd的steps的Progress跟Finished状态自定义图片

自定义antd progress进度条组件样式 【代码】自定义antd progress进度条组件样式。 阅读详情

先看效果,点击Next按钮,编辑状态的图标变成完成状态的图标。

 

 

 

 1.

页面代码

<Row align="center" justify="center" className="about-row">
  <Col span={22} style={{ textAlign: "center" }}>
    <Steps current={current} labelPlacement="vertical" className="verify-steps-box ant-steps-horizontal">
      {StepItem}
    </Steps>
  </Col>
 <Col span={24}>  
     {/*content*/}
{
  current === 0 && (
    <div>你的内容1</div>
  )
}
{
  current === 1 && (
    <div>你的内容2</div>
  )
}
{
  current === 2 && (
    <div>你的内容3</div>
  )
}
{
  current === 3 && (
    <div>你的内容4</div>
  )
}
{
  current === 4 && (
    <div>你的内容5已完成</div>
  )
}

</Col>
  <Col span={24}>
      {/*操作按钮*/}
<div className="steps-action">

  {current > 0 && (
    <Button
      style={{
        width: "185px"
      }}
      variant="blackBorder"
      onClick={() => prev()}
    >
      Back
    </Button>
  )}
  {current < steps.length - 1 && (
    <Button
      style={{
        width: "185px"
      }}
      variant="linearBorder"
      onClick={() => next()}
    >
      Next
    </Button>
  )}
  {current === steps.length - 1 && (
      <Button
        style={{
          width: "185px"
        }}
        variant="linear"
        onClick={() => message.success("Processing complete!")}
      >
        Submit
      </Button>
  )}
</div>

  </Col>

<Row/>

2.方法和定义

const [current, setCurrent] = useState(0);

const next = () => {
  setCurrent(current + 1);
  console.log(current);
};

const prev = () => {
  setCurrent(current - 1);
};

const StepItem = stepsTest.map((item, index) => {
  if (current === index) {
    item.icon = <Image src="/images/edittt.png" preview={false} width={28} height={28}></Image>;
  } else if (current > index - 1) {
    item.icon = <Image src="/images/finishhhh.png" preview={false} width={28} height={28}></Image>;
  } else {
    item.icon = null;
  }
  return <Step key={item.title} title={item.title} icon={item.icon} />;
});

3.引入和数据

import * as React from "react";
import { PageMainBox } from "../../components/PageMainBox";
import { Col, Image, Row, Steps, message, Space, Button } from "antd";
import { useState } from "react";


const { Step } = Steps;


const stepsTest = [
  {
    key: 0,
    title: "aaaaa",
  },
  {
    key: 1,
    title: "bbbb",
  },
  {
    key: 2,
    title: "ccccccccc",
  },
  {
    key: 3,
    title: "ddddddd",
  },
  {
    key: 4,
    title: "eeeeeee",
  }
];

4.部分css

 .steps-scroll-content {
          height: 500px;
          overflow-y: scroll;
          overflow-x: hidden;
          margin: 12px auto;
        }

        .verify-steps-box {
          max-width: 580px;
          display: inline-flex;
          justify-content: center;
        }

        .verify-steps-box .ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-tail::after,
        .verify-steps-box .ant-steps-item-tail::after {
          background-color: #c9ced9 !important;
          height: 2px;
        }

        .verify-steps-box .ant-steps-label-vertical .ant-steps-item-tail {
          padding: 1.5px 24px;
        }

        .verify-steps-box .ant-steps-item-icon {
          width: 28px;
          height: 28px;
          line-height: 26px;
          border: 2px solid rgba(0, 0, 0, 0.25);
          font-family: 'Roboto';
          font-size: 14px;
          font-weight: 600;
        }

        .verify-steps-box .ant-steps-item-custom > .ant-steps-item-container > .ant-steps-item-icon > .ant-steps-icon {
          width: 28px;
          height: 28px;
          display: block;
        }

        .verify-steps-box .ant-steps-item-title {
          font-family: 'Roboto';
          font-size: 12px;
          font-weight: normal;
          text-align: center;
          color: #c9ced9;
          width: 70px;
          line-height: 1.2;
        }

        .verify-steps-box:not(.ant-steps-label-vertical) .ant-steps-item {
          padding-left: 0;
        }

        .steps-content {
          max-width: 400px;
          margin: 0 auto;
        }

        .steps-action {
          margin-bottom: 44px;
          text-align: center;
        }

antd-design-vue】progress 前端自定义进度条 项目需求:前端自定义进度条,当调接口成功的时候,显示一个进度条动态加载的效果。 <a-modal title="上报进度" :width="400" centered :visible="processVisible" bodyStyle="padding: 0;" :footer="null" :zIndex="zIndex" @cancel="handleCancel" > 阅读详情

相关推荐

目标检测: 一文读懂 YOLOX

论文:YOLOX: Exceeding YOLO Series in 2021 论文链接:https://arxiv.org/pdf/2107.08430.pdf 代码链接:https://github.com/Megvii-BaseDetection/YOLOX. 文章目录1 为什么提出YOLOX2 YOLOX 网络架构3 YOLOX 实施细节3.1 backbone3.2 neck3.3 Head3.3.1 Decoupled Head3.3.2 Anchor-free3.4 如何计算Loss3.5 如

weixin_46142822的博客 3万+

antdvue的model实现拖拽的自定义指令

const draggable = { install (Vue) { Vue.directive('drag', { inserted (el, binding) { if (window.Element && !Element.prototype.closest) { Element.prototype.closest = function (s) { const matches

qq_45432996的博客 902

【高等数值分析】Krylov子空间方法

文章目录1. 预备理论1.1 Krylov 子空间1.2 最佳逼近1.2.1 方法一:最佳平方逼近1.2.2 方法二:假设 AAA 对称正定1.2.3 方法三:残差2范数2. 基底正交化2.1 Arnoldi 过程(CGS)2.2 改进 Arnoldi 过程(MGS)2.3 Lanczos过程3. 方程组求解3.1 全正交方法 (FOM)3.2 D-Lanczos方法3.3 广义极小残量法(GMRES)3.4 MINRES 方法 1. 预备理论 现在需要求解一个大规模稀疏方程组 Ax=bAx=bAx=b,可

Glooow的博客 1万+

antd+vue的steps组件在步骤条中添加自定义样式内容(下)

如果antdsteps组件中提供的图标不能满足我们的要求,需要使用自定义图片来实现,比如实现如下示例: 实现代码如下: <template> <a-row :gutter="24"> <a-col :md="24"> <a-card title="步骤条"> <a-switch checked-children="横向" un-checked-children="纵向"

qq_43437571的博客 1万+

ant Steps组件的实际使用

有些童鞋不太理解这个组件 看官网上的: <Steps current={1}> <Step title="Finished" description="This is a description." /> <Step title="In Progress" subTitle="Left 00:00:08" description="This is a description." /> <Step title="Waiting" desc

wangzhichaogege的博客 2496

react H5实现可拖拽的steps步骤条

先上效果图和需求说明: 1、初始效果图 开始节点和结束节点为固定的。中间的环节由后台返回 中间的环节可拖拽修改顺序,开始和结束节点不允许拖拽 ——左键键选中环节不放,拖拽到步骤图上其他环节之间的【+】处放开,即可改变环节在流程图上的顺序  ——拖拽到当前环节前后【+】上,则拖拽不生效 2、单击某个环节后,选中环节样式如下 鼠标移入环节处,会展示允许编辑和删除的按钮 开始和结束节点不会出现该按钮提示 3、拖拽某个环节 4、拖拽后的效果。环节的顺序已发生了变化 代码如下: /* eslint-dis

qq_40761136的博客 1096

elementui 修改组件默认样式

elementui 修改组件默认样式 1.新建style.css,并在main.js中引入import “./assets/style/style.css” 2.覆盖样式,在单个xx.vue文件最后多写一对<style>…</style>标签,不要加scoped(不推荐) 如果写在有scoped属性的style标签里,覆盖的样式不会生效 类名之前要加上父级,否则会变成全局样式 3.<style scoped>中使用深度选择器,可以影响子组件(好用,推荐) 使用 >&

weixin_47321496的博客 666

antd+vue的steps组件在步骤条中添加自定义样式内容(上)

步骤条的图标比较单调,需要替换成有特定图标,从图库里选择需要的图标替换上去,改变之前的步骤条: 替换图标之后的步骤条: 核心: 如果antdsteps组件中提供的图标有时候能满足我们的要求,可以使用框架中本身提供的icon来实现:使用slot插槽来实现 实现代码如下: <template> <a-row :gutter="24"> <a-col :md="24"> <a-card title="步骤条"> <

qq_43437571的博客 1万+

react使用ant design中的steps(步骤条),并自定义布局

react使用ant design中的steps(步骤条),并自定义布局

W__J__J的博客 955

引入antd组件样式_【React】修改antd的步骤条样式

antd中的Steps步骤条组件能够满足一般样式需求,但是对于有些项目对步骤条样式有要求的话就需要对antd中的代码做一下修改项目中用到的步骤条的样式如下:具体的代码如下:<Step title='2019-04-28' description={'首次上报'} icon={<img width={15} src={require(`../assets/img/lastcircle...

weixin_39983554的博客 1070

antDesign自定义a-table组件可展开图标按钮,expandIcon

antDesign自定义a-table组件可展开图标按钮。expandIcon。

weixin_47602884的博客 1603

ReactAntd - step组件的使用

Antd 完成 step 组件 代码案例: index.tsx <div className="steps"> <Steps current={curRecNodeInd} size="small"> {reconcileNodeList.map((item: any, idx: number) => ( <Step key={`${item.index}-${i

qq_37086980的博客 2895

antd菜单使用动态图标

antd菜单使用接口下发的指定图标

放羊的小孩 5963

react 实现的step组件(步骤引导)

同事写的,觉得思路很好,拿过来记录下 js 部分 var progressComponent = React.createClass({ render: function () { return( {this.props.title} {t

april_4的博客 7181

Ant Design Pro 菜单自定义 icon

Ant Design Pro 官方文档说明在菜单中使用自定义的 icon 由于 umi 的限制,在router.config.js是不能直接只是用组件的,Pro 中暂时支持 使用ant.design本身的 icon type,和传入一个 img 的 url。只需要直接在 icon 属性上配置即可,如果是个 url,Pro 会自动处理为一个 img 标签。 如果这样还不能满足需求,可以...

钬码狼酷的博客 2万+

element-ui中steps图标自定义

element-ui中steps组件中提供的图标有时候并不能满足我们的要求,那么我们可以不可以自定义呢,答案是肯定的,我们可以引入外部的文件,也可以使用框架中本身提供的icon来实现:使用slot插槽来实现 <div class="stepWrap"> <el-steps :active="activeSteps" align-center> <el-step :title="task.taskName" v-for="task in taskS

木易的博客 8361

自定义Progress样式(原生progress方式实现)

使用原生progress实现自定义风格的progress今天无意间看到progress还可以使用layer-list实现多重样式,特在此记录下来: 效果图 layer-list 代码中使用 效果图代码块在drawable文件夹下创建myprogress.xml,例如:<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="h

Allen技术家园 3483

AntdIcon 动态图标使用方式

1 需求 : 传入Icon 字符串 生成 AntdIcon 组件 1 引入 Antd Icon import * as Icon from '@ant-design/icons'; createAntdIcon(iconName) { return React.createElement(Icon[iconName]); } 注意事项: 如果 这样引入AntdIcon 后 如果想直接用他原生组件需要 <Icon.IdcardOutl

C的博客 3126

react+antd框架自定义使用阿里iconfont图标

首先打开iconfont,找到我们需要的icon,如果要icon跟随字体选中状态的颜色改变而改变,尽量使用单色图标。如图: 2、加入购物车之后,点击下载代码,放到桌面,将文件夹下的iconfont.js文件引入项目中,我一般放在util文件夹下,如图: 3、在需要的.jsx页面下引入我们的iconfont.js文件: import iconFont from '../../../utils...

weixin_39385485的博客 6445

React学习day11antd--组件:按钮、图标

ant-design:https://ant.design/index-cn antdant-design)的基本使用 安装ant-design 在项目下的控制台输入:yarn add antd

weixin_46758732的博客 1512

易语言OCR文字识别模块:基于飞浆框架,无网离线使用,支持Win7/Win10,多种图片格式与参数识别,高效简单,可调整参数应对

内容概要:本文介绍了如何利用易语言和飞桨PaddleOCR实现离线OCR文字识别模块。该模块适用于Windows 7和Windows 10操作系统,无需联网,也不需要安装额外的运行库。文中详细描述了模块的基本调用方法、高级参数设置、模型文件切换以及常见的注意事项。此外,还提供了多个实际应用场景的代码示例,展示了如何处理不同类型的图像输入,如普通图片、字节集数据和倾斜图片等。同时,强调了参数调优的重要性,特别是在处理大字体、倾斜文本等特殊情况时的效果提升。适合人群:熟悉易语言编程,希望实现离线OCR文字识别功能的开发者。使用场景及目标:① 实现离线OCR文字识别功能,避免依赖网络API;② 提供多种参数调整选项,优化特定场景下的识别效果;③ 支持模型文件热替换,满足不同语言和字符集的需求。其他说明:该模块不仅简化了部署流程,而且在性能和稳定性方面表现出色,尤其适合需要频繁处理大量图片的应用场景。

上一篇: react Swiper做出堆叠轮播图
下一篇: 记录一下按钮实现渐变边框跟antd的Button.js实现不同主题颜色
啊黑啊
博客等级 码龄10年 3粉丝 22原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值