Element UI 环型进度条自定义样式百分比

本文介绍了如何使用ElementUI库自定义环形进度条的样式,包括设置环形的宽度、颜色以及百分比显示。通过修改`stroke-width`属性改变环形粗细,利用CSS类`circleCenter`和`circleBox`调整内百分比样式,同时改变`el-progress-circle__track`和`el-progress`的样式来定制底色和占比颜色。此外,还展示了具体的HTML代码和CSS代码实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Element UI 环型进度条自定义样式百分比

如下图

在这里插入图片描述

1.自定义环型样式

  • :stroke-width=“16”:定义环形粗细
  • circleCenter,circleBox:环形内百分比样式
  • el-progress-circle__track:改变环形图底色
  • el-progress内的color:环形图占比颜色
<div class="circleBox">
          <el-progress color="#6bbf69" type="circle" :show-text="false" :stroke-width="16" :percentage="typeof dashboardData.mem_usage !== 'undefined' && dashboardData.mem_usage !== null ? dashboardData.mem_usage : 0"></el-progress>
          <div class="circleCenter">
            <div style=" font-weight: bold; font-size: 18px;"> {{dashboardData.mem_usage}}%</div>
            <div style="  font-size: 10px;">使用率 </div>
          </div>
          <div> <span style=" ">内存:</span> <span style=" color: #32798b;  font-weight: bold;">{{dashboardData.mem_total}}</span>GB</div>
</div>

2. css代码

 .circleBox {
  position: relative;
  text-align: center;
  width: 200px;
}

 .circleCenter {
  position: absolute;
  top: 45px;
  left: 70px;

}
.el-progress-circle__track {
  stroke: #b7e5c1;
}

### 使用 Element UI 实现文件上传时显示进度条 为了实现在 Vue.js 中使用 Element UI 进行文件上传并显示进度条的效果,可以通过配置 `el-upload` 组件的相关属性来完成这一需求。具体来说,通过设置 `on-progress` 和 `before-upload` 属性可以有效地监控和展示上传过程中的进度。 #### 配置 el-upload 组件 首先,在模板部分定义 `el-upload` 组件,并指定其基本参数: ```html <template> <div id="app"> <!-- 定义上传组件 --> <el-upload class="upload-demo" action="/api/upload" <!-- 设置上传接口地址 --> :on-preview="handlePreview" :on-remove="handleRemove" :file-list="fileList" :on-progress="handleProgress" <!-- 处理进度事件 --> :before-upload="beforeUpload"> <!-- 前端校验逻辑 --> <el-button size="small" type="primary">点击上传</el-button> <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> </el-upload> <!-- 显示进度条 --> <el-progress v-if="showProgress" :percentage="progressPercentage"></el-progress> </div> </template> ``` #### JavaScript 方法实现 接着,在脚本部分编写处理函数以响应不同的生命周期钩子方法: ```javascript <script> export default { data() { return { fileList: [], // 存储已选文件列表 showProgress: false, // 控制进度条是否可见 progressPercentage: 0 // 当前上传进度百分比 }; }, methods: { handlePreview(file) { /* ... */ }, // 文件预览回调 handleRemove(file, fileList) { /* ... */ }, // 移除文件回调 beforeUpload(file) { const isJPGorPNG = file.type === &#39;image/jpeg&#39; || file.type === &#39;image/png&#39;; const isLt500K = file.size / 1024 < 500; if (!isJPGorPNG) { this.$message.error(&#39;仅支持 jpg 或 png 格式的图片!&#39;); } if (!isLt500K) { this.$message.error(&#39;每张图片大小不得超过 500KB!&#39;); } return isJPGorPNG && isLt500K; }, handleProgress(event, file, fileList) { this.showProgress = true; // 开始上传即显示进度条 this.progressPercentage = parseInt(Math.min(event.percent, 100)); // 更新进度值 } } }; </script> ``` 上述代码展示了如何利用 `el-upload` 的内置插槽以及自定义事件处理器来创建一个带有进度指示器的文件上传界面[^1]。当用户选择要上传的文件后,如果满足条件,则会触发实际的上传操作;与此同时,页面上会出现一条动态更新的进度条反映当前传输状态。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值