当前位置:首页 > uni-app

uniapp圆形加载

2026-02-06 00:16:31uni-app

uniapp 圆形加载实现方法

使用内置组件实现

uniapp提供了progress组件,可以通过设置stroke-widthcolor属性实现圆形加载效果。

uniapp圆形加载

<progress 
  percent="50" 
  stroke-width="10" 
  activeColor="#4cd964" 
  backgroundColor="#e5e5e5" 
  active
></progress>

使用CSS自定义样式

通过CSS可以实现更灵活的圆形加载动画效果。

uniapp圆形加载

<template>
  <view class="circle-progress">
    <view class="progress-bar"></view>
  </view>
</template>

<style>
.circle-progress {
  width: 100px;
  height: 100px;
  position: relative;
}

.progress-bar {
  width: 100%;
  height: 100%;
  border: 8px solid #f3f3f3;
  border-top: 8px solid #3498db;
  border-radius: 50%;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
</style>

使用第三方组件库

uniapp生态中有多个UI组件库提供圆形加载组件,如uView、ColorUI等。

<template>
  <u-circle-progress 
    :percent="70" 
    :width="150" 
    :border-width="12" 
    active-color="#2979ff"
  ></u-circle-progress>
</template>

SVG实现方案

使用SVG可以创建更精细的圆形进度条,支持渐变等效果。

<template>
  <view>
    <svg width="100" height="100" viewBox="0 0 100 100">
      <circle 
        cx="50" 
        cy="50" 
        r="45" 
        fill="none" 
        stroke="#e5e5e5" 
        stroke-width="10"
      />
      <circle 
        cx="50" 
        cy="50" 
        r="45" 
        fill="none" 
        stroke="#4cd964" 
        stroke-width="10" 
        stroke-dasharray="283" 
        stroke-dashoffset="141.5"
      />
    </svg>
  </view>
</template>

注意事项

  • 小程序平台对CSS动画支持有限,需测试兼容性
  • 使用第三方组件时需先安装对应库
  • 性能敏感场景建议使用原生组件而非CSS动画
  • 动态修改进度时可能需要添加过渡效果提升用户体验

标签: 圆形加载
分享给朋友:

相关文章

vue动态加载实现

vue动态加载实现

Vue动态加载实现方法 动态加载在Vue中通常指按需加载组件或资源,以下是几种常见实现方式: 使用异步组件 通过defineAsyncComponent或动态import()语法实现组件按需加载:…

vue实现路由懒加载

vue实现路由懒加载

路由懒加载的概念 路由懒加载是一种优化技术,通过将路由对应的组件拆分成独立的代码块,仅在访问该路由时才加载对应的组件代码。这种方式可以减少初始加载时间,提升应用性能。 使用动态导入语法 在Vue R…

vue懒加载实现方式

vue懒加载实现方式

Vue懒加载的实现方式 使用Vue异步组件 Vue允许将组件定义为异步加载的工厂函数,通过import()动态导入组件实现懒加载。这种方式适用于路由组件或按需加载的组件。 const AsyncCo…

vue实现视频进度加载

vue实现视频进度加载

实现视频进度加载的基本思路 在Vue中实现视频进度加载通常涉及监听视频的timeupdate事件,计算当前播放时间与总时长的比例,并更新进度条显示。核心是通过<video>元素的API和自…

vue路由懒加载实现

vue路由懒加载实现

Vue 路由懒加载的实现方法 在 Vue 项目中,路由懒加载可以显著提升应用性能,通过按需加载路由组件减少初始加载时间。以下是几种常见的实现方式: 使用动态 import 语法 通过 import(…

vue实现长列表加载

vue实现长列表加载

实现长列表加载的核心方法 虚拟滚动技术 通过仅渲染可视区域内的列表项大幅减少DOM节点数量。Vue生态中可使用vue-virtual-scroller或vue-virtual-scroll-list库…