【Element】el-progress 自定义进度条

news/2024/7/7 13:30:06

一、背景

要求弹窗内显示进度条,根据接口获取当前进度值,间隔5秒调用接口获取最新进度值,当进度值为100时,允许关闭进度条弹窗

二、效果

三、实现步骤

3.1、按钮绑定事件,打开弹窗

<el-button class="cancelBtn" size="small" type="warning" @click="chargeGenerate">打开进度条</el-button>

3.2、弹窗内加进度条

<!-- 弹窗内显示进度条 -->
<el-dialog title="生成过程中请稍后" :visible.sync="dialogTableVisible" width="55%" top="40vh" @close="onDialogClose">
<el-progress :text-inside="true" :stroke-width="20" :percentage="percentage" status="success"></el-progress>
</el-dialog>

 说明:

text-inside:进度条显示文字内置在进度条内

stroke-width:进度条的宽度,单位 px

percentage:百分比(默认设置的为0)

详细内容可查看官网:Element - The world's most popular Vue UI framework

3.3、data中定义默认数据

 data() {
    return {
      dialogTableVisible: false,//弹窗默认关闭
      percentage: 0,//进度值
      timer:null,
    }
  }

3.4、按钮内处理弹窗进度条逻辑

chargeGenerate(){
   //打开弹窗
   this.dialogTableVisible = true
   //进度条开始时为0
   this.percentage = 0;
   //调取进度条的接口,启动定时器,接口获取完,销毁定时器
   this.timer =  setInterval(()=>{
   this.$http.get(this.$url.lifebill.getCalculateProgress).then(res=>{
   //获取接口中返回的进度值,并赋值给进度条
   this.percentage = res.data
    //满足以下条件,关闭定时器
    if ((res.code==0 && res.data == 100)||res.code==1) {
      clearInterval(this.timer); // 关闭定时器
       this.$message.success(res.msg)
      }
     })
    },5000)
   }

3.5、进度值不为100时,不能关闭进度弹窗

如果进度条在进行中,还没有达到100%时,是不能关闭进度弹窗的,给弹窗增加@close关闭事件

onDialogClose() {
 //如果进度值小于100,弹窗不能关闭
  if(this.percentage < 100){
    this.dialogTableVisible = true
   }else{
    this.dialogTableVisible = false
    }
  },

最后,👏👏 😀😀😀 👍👍 


http://lihuaxi.xjx100.cn/news/1817905.html

相关文章

【collections】Python中的OrderDict

【collections】Python中的OrderDict 文章目录 【collections】Python中的OrderDict1. 什么是OrderedDict2. Toy Code 1. 什么是OrderedDict 其实很简单OrderedDict是Python中一个字典dict的变体&#xff0c;它可以按照元素添加的顺序来保持键值对&#xff08;key-value pair&…

MySql表中添加emoji表情

共五处需要修改。 语句执行修改&#xff1a; ALTER TABLE xxxxx CONVERT TO CHARACTER SET utf8mb4;

为什么Git的教程都那么繁杂?

我在花了两个小时左右的时间大致了解了git的工作原理与常用指令后后&#xff0c;就已经能够使用它了。 可是在网上看到的那些教程为什么都是30多集以上的&#xff0c;更有甚者有50多集。 Git作为一个工具&#xff0c;我感觉能用就行了&#xff0c;何必再花这么大心思去学呢&…

Python学习:自动生成Mysql建表语句

Python&Mysql 一、生成建表语句二、执行建表语句 一、生成建表语句 使用Python批量自动生成Mysql中已有表的建表语句 import osdef generate_create_table_sql(cursor,file_path,table_name,schema):# 获取表的列信息cursor.execute(f"SHOW FULL COLUMNS FROM {tabl…

便携式自动气象站让你随时随地掌握天气变化

WX-BXQX12 随着科技的发展&#xff0c;人们对气象信息的掌握越来越重要。无论是在日常生活中&#xff0c;还是在农业生产、旅游出行等领域&#xff0c;了解天气变化都显得至关重要。为了满足人们对气象信息的需求&#xff0c;一款名为“便携式自动气象站”的创新产品应运而生。…

LD_LIBRARY_PATH 这个是什么

LD_LIBRARY_PATH 是一个环境变量&#xff0c;用于指定动态链接库的搜索路径。 在 Linux 系统中&#xff0c;可执行文件在运行时需要动态链接库的支持。当一个可执行文件执行时&#xff0c;系统会搜索一系列默认的库路径&#xff0c;以查找程序所需的动态链接库。而 LD_LIBRARY…

SpringDoc枚举字段处理与SpringBoot接收枚举参数处理

本期内容 添加SpringDoc配置展示枚举字段&#xff0c;在文档页面中显示枚举值和对应的描述添加SpringMVC配置使项目可以接收枚举值&#xff0c;根据枚举值找到对应的枚举 默认内容 先不做任何处理看一下直接使用枚举当做入参是什么效果。 定义一个枚举 package com.exampl…

人工智能基础部分21-神经网络中优化器算法的详细介绍,配套详细公式

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能基础部分21-神经网络中优化器算法的详细介绍&#xff0c;配套详细公式。本文将介绍几种算法优化器&#xff0c;并展示如何使用PyTorch中的算法优化器&#xff0c;我们将使用MNIST数据集和一个简单的多层感知…