<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 内部返回值

本文介绍了一种在Vue框架中优化进度条显示的方法,通过计算已完成部分与目标的比例,确保进度条准确反映任务完成情况。文章详细解释了如何处理除数和被除数为零的情况,避免错误,并通过三目运算限制进度条的最大值为100%,同时提供了format选项以适应不同显示需求。
2285

被折叠的 条评论
为什么被折叠?



