elementui进度条Progress组件

一、Progress组件

二、各部分代码

1.html代码

复制代码
<div>
  <div class="showprogress" v-for="item in regions" :key="item.name">
    <span>{{ item.name }}</span>
    <el-progress :percentage="percentage(item.count, totalCount)" :format="formatCount(item.count)" :color="customColorMethod">
     </el-progress>
   </div>
</div>

使用v-for指令遍历regions数组,为每个区域创建一个进度条显示。

使用<el-progress>组件(Element UI库中的进度条组件)来显示进度。

:percentage:计算并绑定每个进度条的百分比。

:format:自定义进度条上显示的文本。

:color="customColors":绑定进度条的颜色。

2.部分CSS代码

复制代码
.showprogress{
  display: flex;
  justify-content: space-around;
  align-items: center;
                        
  span {
    width: 50px;
    font-size: 12px;
    color: #8CBAEE;
  }
  /deep/.el-progress__text {
    font-size: 12px !important;
    color: #8CBAEE;
  }
}

regions数组:定义了名称及其对应的count值,可动态获取数据。

totalCount:定义了用于计算百分比的总数。

percentage方法:接受两个参数(count和total),计算并返回百分比。

formatCount方法:常见的做法是直接显示百分比或者格式化后的百分比字符串。

customColorMethod方法:根据进度百分比返回不同的颜色。

3.js代码

复制代码
  data() {
    return {
      regions: [
        { name: "大足区", count: 80 },
        { name: "秀山县", count: 100 },
        { name: "涪陵区", count: 160 },
        { name: "万州区", count: 40 },
        { name: "忠县", count: 200 }
      ],
      totalCount: 200
    };
  },
 methods: {
    percentage(count, total) {
      return (count / total) * 100;
    },
    formatCount(count) {
      return percentage => {
        return `${count}`; // 直接返回条数
      };
    },
    customColorMethod(percentage) {
      if (percentage < 20) {
        return "#8C39A1";
      } else if (percentage < 40) {
        return "#04FCFC";
      } else if (percentage < 60) {
        return "#7C3DFD";
      }else if (percentage < 80) {
        return "#01A4E7"
      }else {
        return "#6f7ad3";
      }
     },
   },
 }

以上是一个简单的进度条展示样式,实现其他样式需细节上修改一些。

若文章对你有帮助,点赞、收藏加关注吧!

相关推荐
Ai-_Man2 小时前
我需要批量导出Poe左边栏所有对话,而不是一条具体的对话内容,你们AI导出鸭可以吗?
开发语言·前端·javascript·人工智能·小程序
u0111026753 小时前
Vue 页面离开后还在轮询?统一清理计时器、监听器与观察器
前端·javascript·vue.js
大猩猩X3 小时前
vue 表格组件 vxe-table 实现多行编辑,支持增删改查与校验
前端·javascript·vue.js·vxe-table
冒险的豆子5 小时前
Proxy & Vue 响应式(合并精简版,适合面试)
前端·javascript·vue.js
Java后端的Ai之路5 小时前
前端技术Vue-18-视图中的渲染
前端·javascript·vue.js
zttbee12 小时前
echarts图表tooltip色块失效
前端·javascript·echarts
虚无境14 小时前
如何用AI帮我写出实用的插件
前端·javascript·ai编程
zimoyin15 小时前
在 C# 里嵌入 JavaScript:用 Jint 做可热更新的自动化脚本(从入门到踩坑)
javascript·c#·自动化
FRing0316 小时前
JavaScript入门到精通二十六(变量提升、函数剩余参数、展开运算符、ES6箭头函数)
开发语言·前端·javascript·es6·箭头函数
OpsEye17 小时前
怎么实现大模型的按用户、按应用配额限流?
javascript·ai编程