el-progress组件使用:自动计算percentage,format自定义显示文字
效果图:
完整代码:
1 <template> 2 <div> 3 <div class="content-view"> 4 <div v-for="(item, index) in progressList" class="item-view"> 5 <el-progress :text-inside="true" :stroke-width="26" :percentage="setItemProgress(item)" v-if="!isNaN(parseInt((item.planNum/item.completeNum)*100))" 6 :status="setItemStatus(item)" :format="setItemText(item)"></el-progress> 7 </div> 8 </div> 9 </div> 10 11 </template> 12 13 <script> 14 export default { 15 data() { 16 return { 17 progressList: [{ 18 planNum: 150, 19 completeNum: 80 20 }, 21 { 22 planNum: 70, 23 completeNum: 70 24 }, 25 { 26 planNum: 70, 27 completeNum: 90 28 } 29 ] 30 31 } 32 }, 33 34 methods: { 35 setItemProgress(data) { 36 if (data.planNum > data.completeNum) { 37 return 100 38 } else { 39 return parseInt((data.planNum / data.completeNum).toFixed(1) * 100) 40 } 41 }, 42 43 setItemText(row) { 44 return () => { 45 return '计划: ' + row.planNum + ',完成: ' + row.completeNum 46 } 47 }, 48 49 setItemStatus(data) { 50 if (data.planNum > data.completeNum) { 51 return 'exception' 52 } else if (data.planNum === data.completeNum) { 53 return 'success' 54 } else { 55 return 'warning' 56 } 57 } 58 } 59 } 60 </script> 61 <style lang="scss" scoped> 62 .content-view { 63 height: calc(100vh - 84px); 64 background-color: #FFFFFF; 65 padding: 20px; 66 } 67 68 .item-view { 69 margin-bottom: 1rem; 70 } 71 </style>
标签:
el-progress
, element-ui
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
2017-11-07 handsontable 给单元格自定义属性
2017-11-07 handsontable自定义渲染