当前位置:首页 > 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动画
  • 动态修改进度时可能需要添加过渡效果提升用户体验

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

相关文章

vue2实现图片懒加载

vue2实现图片懒加载

实现图片懒加载的方法 在Vue2中实现图片懒加载可以通过以下方法完成,核心原理是监听图片是否进入可视区域,再动态加载图片资源。 使用IntersectionObserver API Intersec…

js实现页面加载

js实现页面加载

监听 DOMContentLoaded 事件 使用 DOMContentLoaded 事件可以在 HTML 文档完全加载和解析后触发,无需等待样式表、图像等外部资源加载完成。 document.…

vue实现路由懒加载

vue实现路由懒加载

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

vue实现异步加载组件

vue实现异步加载组件

异步组件的基本实现 在 Vue 中可以通过动态 import() 语法实现组件的异步加载。这种方式会返回一个 Promise,Vue 会在需要时自动处理加载逻辑。 const AsyncCompon…

vue实现分页加载数据

vue实现分页加载数据

实现分页加载数据的方法 在Vue中实现分页加载数据,通常需要结合后端API和前端分页组件。以下是几种常见的实现方式: 使用Element UI的Pagination组件 安装Element UI后…

vue watch实现懒加载

vue watch实现懒加载

使用 Vue 的 watch 实现懒加载 在 Vue 中,可以通过 watch 监听数据变化,结合 Intersection Observer API 或滚动事件实现懒加载。以下是具体实现方法: 监…