uni-app progress 组件使用详解

uni-app 开发中,progress 组件常用于展示任务加载进度,例如文件上传、页面初始化加载、下载进度等。该组件使用简单、样式灵活,并支持动态绑定进度值。

本文将详细介绍 progress 组件的常见用法及完整示例。

一、基础用法

最简单的使用方式如下:

html 复制代码
<progress :percent="myPercent" activeColor="#007AFF" stroke-width="12rpx" />

export default {
    data() {
        return {
            myPercent: 50
        }
    }
}

说明:

  • percent:进度值,范围 0 ~ 100

  • activeColor:已完成进度颜色

  • stroke-width:进度条高度


二、常用属性说明

属性 类型 说明
percent Number 进度百分比
activeColor String 已完成颜色
backgroundColor String 未完成颜色
stroke-width Number / String 进度条宽度
show-info Boolean 是否显示百分比文本
active Boolean 是否显示动画

示例:

html 复制代码
<progress
    :percent="myPercent"
    active
    show-info
    activeColor="#007AFF"
    backgroundColor="#eee"
    stroke-width="16rpx"
/>

三、实现动态加载进度(模拟加载)

实际项目中,进度通常是动态变化的,例如 3 秒加载完成:

html 复制代码
<template>
    <view>
        <progress :percent="myPercent" active stroke-width="12rpx" />
    </view>
</template>

<script>
export default {
    data() {
        return {
            myPercent: 0
        }
    },
    onLoad() {
        let timer = setInterval(() => {
            if (this.myPercent >= 100) {
                clearInterval(timer)
            } else {
                this.myPercent += 2   // 每次增加2%
            }
        }, 60) // 约3秒完成
    }
}
</script>

这样即可实现更真实的加载动画效果。


四、常见使用场景

progress 组件常用于:

  • 页面初始化加载

  • 文件上传进度

  • 下载进度显示

  • 视频缓存进度

  • 任务执行进度提示

例如:

html 复制代码
<progress :percent="uploadPercent" activeColor="#4CD964" />

五、开发建议

在真实业务中,推荐:

  1. 进度值绑定真实接口返回

  2. 在进度到 100% 时触发下一步操作

  3. 对加载时间较短的接口,可使用 假进度动画 + 完成校正

例如:

复制代码
if(realProgress > myPercent){
    myPercent = realProgress
}

可避免进度条卡顿。


六、总结

progress 是 uni-app 中非常常用的展示组件,具有:

  • 使用简单

  • 支持动态更新

  • 跨端兼容

  • 样式灵活

相关推荐
源码潇潇和逸逸13 小时前
独立部署高校圈子平台:PHP+UniApp打造社交+交易+服务一站式校园解决方案
开发语言·uni-app·php
2501_9160088916 小时前
2026 iOS 证书管理,告别钥匙串依赖,构建可复制的签名环境
android·ios·小程序·https·uni-app·iphone·webview
2501_915918411 天前
iOS App 拿不到数据怎么办?数据解密导出到分析结构方法
android·macos·ios·小程序·uni-app·cocoa·iphone
2501_916008891 天前
iOS App 抓包看不到内容,从有请求没数据一步步排查
android·ios·小程序·https·uni-app·iphone·webview
扶苏10021 天前
记一次 uni-app开发微信小程序 textarea 的“伪遮挡”踩坑实录
微信小程序·小程序·uni-app
RuoyiOffice2 天前
企业请假销假系统设计实战:一张表、一套流程、两段生命周期——BPM节点驱动的表单变形术
java·spring·uni-app·vue·产品运营·ruoyi·anti-design-vue
KongHen022 天前
uniapp-x实现自定义tabbar
前端·javascript·uni-app·unix
RuoyiOffice2 天前
SpringBoot+Vue3+Uniapp实现PC+APP双端考勤打卡设计:GPS围栏/内网双模打卡、节假日方案、定时预生成——附数据结构和核心源码讲解
java·spring·小程序·uni-app·vue·产品运营·ruoyi
2501_915921432 天前
2026 iOS 上架新趋势 iOS 发布流程模块化
android·ios·小程序·https·uni-app·iphone·webview
窝子面3 天前
uni-app的初体验
uni-app