更新记录
1.0.0(2025-09-19) 下载此版本
- 全屏半透明遮罩层,禁止任何操作
- 自定义加载动画和文字
- 自动拦截Android返回键
- 防止重复创建
- 支持全局调用
平台兼容性
uni-app(3.6.9)
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|
√ | - | √ | - | √ | - | 4.4 | - | - |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
- | - | - | - | - | - | - | - | - | - | - |
其他
多语言 | 暗黑模式 | 宽屏模式 |
---|---|---|
√ | √ | √ |
在main.js中全局注册:
// main.js
import CustomLoading from '@/utils/loading.js'
Vue.prototype.$loading = CustomLoading;
使用方式:
// 显示加载框
this.$loading.show('正在处理...');
// 隐藏加载框
this.$loading.hide();
方案特点:
1. 全屏半透明遮罩层,禁止任何操作
2. 自定义加载动画和文字
3. 自动拦截Android返回键
4. 防止重复创建
5. 支持全局调用
注意事项:
1. 在iOS设备上物理返回键无效,但需要确保没有软件导航条
2. 需要正确处理异步操作的异常情况,确保始终调用hide()
3. 可根据需要自定义CSS样式
4. 确保加载框的z-index为最高层级
建议配合以下优化使用:
// 在页面生命周期中自动隐藏(可选)
export default {
onHide() {
this.$loading.hide();
},
onUnload() {
this.$loading.hide();
}
}
这个方案相比uni.showLoading的优势:
1. 完全自定义UI样式
2. 真正阻止用户操作
3. 更好的跨页面控制能力
4. 可扩展性更强(可随时添加进度条等功能)