【Vue + ElementUI】完美解决 el-progress percentage 超过100报错及百分比格式化显示处理

<el-progress :percentage="computedPercentage(scope.row) >= 100 ? 100 : computedPercentage(scope.row)" :format="computedPercentage(scope.row, 1)"></el-progress>
computedPercentage(row, format){
      if(!row.yearComplete || !row.yearTarget){
        if(format){
          return () => {
            return 0 + '%'
          }
        }else{
          return 0
        }
      }
      else{
        if(format){
          return () =>{
            return Number((row.yearComplete / row.yearTarget * 100).toFixed(2)) + '%'
          }
        }else{
          return Number((row.yearComplete / row.yearTarget * 100).toFixed(2))
        }
      }
    },

需要注意以下几点:

        1、判断除数和被除数为0直接返回0 否则会报错 Expected Number with value NaN

        2、percentage 超过100 组件验证报错,通过三目运算让超过100的进度条都显示为100

        3、format 需要返回一个function 类型,所以返回套在function 里,在此function 内部返回值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值