# uni.showLoading(options?)

显示 loading 提示框, 需主动调用 uni.hideLoading 才能关闭提示框。

它是一个悬浮弹出的、非组件内嵌的加载中提示。

# showLoading 兼容性

Web 微信小程序 Android iOS iOS uni-app x UTS 插件 HarmonyOS HarmonyOS(Vapor)
4.0 4.41 3.91 4.11 4.11 4.61 5.0

# 参数

名称 类型 必填 默认值 兼容性 描述
options ShowLoadingOptions -
-
uni.showLoading参数定义
名称 类型 必备 默认值 兼容性 描述
title string -
提示的内容,长度与 icon 取值有关。
mask boolean -
是否显示透明蒙层,防止触摸穿透,默认:false
success (res: ShowLoadingSuccess) => void -
uni.showLoading成功回调函数定义
fail (res: ShowLoadingFail) => void -
uni.showLoading失败回调函数定义
complete (res: any) => void -
uni.showLoading完成回调函数定义

# ShowLoadingFail 的属性值

名称 类型 必备 默认值 兼容性 描述
errCode number -
-
uni.showLoading失败回调参数
errSubject string -
-
统一错误主题(模块)名称
data any -
-
错误信息中包含的数据
cause Error -
-
源错误信息,可以包含多个错误,详见SourceError
errMsg string -
-

# 参见

# uni.hideLoading(options?)

隐藏 loading 提示框。

# hideLoading 兼容性

Web 微信小程序 Android iOS iOS uni-app x UTS 插件 HarmonyOS HarmonyOS(Vapor)
4.0 4.41 3.91 4.11 4.11 4.61 5.0

# 参数

名称 类型 必填 默认值 兼容性 描述
options HideLoadingOptions -
-
uni.showLoading参数定义
名称 类型 必备 默认值 兼容性 描述
loadingPage UniPage -
期望隐藏的目标LoadingPage 如果为null 会关闭当前栈顶全部LoadingPage
success (res: HideLoadingSuccess) => void -
uni.hideLoading成功回调函数定义
fail (res: HideLoadingFail) => void -
uni.hideLoading失败回调函数定义
complete (res: any) => void -
uni.hideLoading完成回调函数定义
noConflict boolean -
需要基础库: 2.22.1

目前 toast 和 loading 相关接口可以相互混用,此参数可用于取消混用特性

# HideLoadingFail 的属性值

名称 类型 必备 默认值 兼容性 描述
errCode number -
-
uni.showLoading失败回调参数
errSubject string -
-
统一错误主题(模块)名称
data any -
-
错误信息中包含的数据
cause Error -
-
源错误信息,可以包含多个错误,详见SourceError
errMsg string -
-

# 参见

# 通用类型

# GeneralCallbackResult

名称 类型 必备 默认值 兼容性 描述
errMsg string -
错误信息

# Tips

  • 关于uni.showLoading和loading组件的区别:
    • showLoading是一个简易的API,使用简单。因为它悬浮在页面上方、让页面整体失去响应。主流的App较少使用这种方式。
    • loading组件是内置组件,无需在页面显式引入,可以嵌入页面中、按钮中。
  • 从HBuilderX 5.0+,在App和Web平台,showLoading统一成一套代码,使用dialogPage的页面中显示一个loading组件来实现。dialogPage是模态的,不支持点击空白消失,但支持back关闭。需要非模态的使用场景时,请在页面中直接使用loading组件
  • showLoading 是和页面(包括 dialogPage)绑定的。
    • 当showLoading执行时,会寻找当前页面栈顶的窗体(包括 dialogPage),找到后进行绑定,然后弹出loading。
    • 在弹出loading后,再次打开新页面,新页面会覆盖原页面弹出的 loading。
      • 如需在新页面(包括 dialogPage)弹出 loading,需要再次调用 showLoading
  • 在HBuilderX 5.0以前,HarmonyOS 平台,showLoading 是和 App window 绑定的,目前未与页面关联,当打开新页面时,原页面弹出的 loading 不会被遮挡。HBuilderX 5.0拉齐了实现,与上条策略一致。
  • 当前页面(包括 dialogPage)关闭时,弹出的 loading 都会被自动取消
    • 如需在dialogPage关闭后,仍然弹出 Loading,需要在关闭dialogPage后再次调用 showLoading
  • 注意在支持 dialogPage 的平台(Web和App),uni.showModaluni.showActionSheet 也是 dialogPage 实现的,此时 showLoading 会绑定到这些 dialogPage 上