【element】progress-修改进度条形状、高度、颜色、动态传值

需求1:做成下图这样的进度条

 

实现思路:(此处是scss写法)

1.需要修改el-progress的形状

步骤:

修改进度条的高度(宽):

              .el-progress-bar__outer {
                height: 14px !important;
              }

修改圆角样式:

              .el-progress-bar__inner {
                background-color: #16d3d5;
                border-radius: 0px; // 双边圆角
              }

2.需要修改el-progress的颜色和背景颜色

修改进度条表示百分比的颜色条

              .el-progress-bar__inner {
                background-color: #16d3d5;
              }

修改进度条背景色(此处需求是不要背景色,改为透明)

              .el-progress-bar .el-progress-bar__outer {
                border-radius: inherit;
                background-color: transparent !important;
              }

3.动态传数据显示百分比

这个是参考另外大佬的想法的,但是原po找不到了,当时比较急就没有收藏……后面找到了会在评论区放原po链接

因为我是将进度条放在el-table的单元格内的,需要根据接口返回数据动态决定进度条的百分比,此处就需要考虑如何传值给el-progress并且要是小于等于100的数字形式

<el-progress v-if="item.label === '' && scope.row.cnt" 
             :percentage="Math.ceil(scope.row.cnt/10000*100)"
</el-progress>

这里应该还需要优化的是,除数不应该是写死的,应该是要给整个scope.row.cnt系列的数值制定一个参考的整数值,以scope.row.cnt在这个整数值的占比再乘100才是合理的。但是我还没想到怎么做,大佬们有可以借鉴的方法希望能在评论区留言,感激!

4.去除进度条后面带的文字

只需要<el-progress :show-text="false" />就可以啦

5.根据数值的大小动态决定进度条颜色

例子: 数值< 20 绿色 20< 数值 < 50 黄色 >50红色

思路:此处用计算属性实现样式的动态改变

<lel-progress :color=changeProgressColor(scope.row.cnt)></el-progress>

(计算属性不加双引号的时候就可以传值!!)

  computed: {
    changeProgressColor() {
      return function(people) {
        return people <= 20 ? 'green' : (people <= 50 ? 'yellow' : 'red')
      }
    }
  },

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值