跳到主要内容
版本:v8

ion-loading

scoped

一种覆盖层,可用于指示活动状态,同时阻止用户交互。加载指示器显示在应用内容上方,可由应用关闭以恢复用户与应用之间的交互。它包含一个可选背景层,可通过在创建时设置 showBackdrop: false 来禁用它。

基本用法

一旦显示,加载指示器默认将无限期显示。开发者可以在创建后通过调用组件的 dismiss() 方法手动关闭加载指示器。可以调用 onDidDismiss 函数在加载指示器关闭后执行操作。

另外,开发者可以配置加载指示器在特定时间后自动关闭,方法是在加载选项的 duration 中传入要显示的毫秒数。

内联方式(推荐)

控制器方式

自定义

旋转器

使用的旋转器可以通过 spinner 属性进行自定义。有关完整选项列表,请参阅旋转器属性文档

主题

Loading 使用作用域封装,这意味着它会在运行时通过为每个样式附加一个额外类来自动限定其 CSS 的作用域。覆盖作用域选择器需要具有更高特异性的选择器。

我们建议传入一个自定义类,并使用该类为宿主元素和内部元素添加自定义样式。

备注

ion-loading 在应用的根层级显示,因此我们建议将任何 ion-loading 的样式放在全局样式表中。

无障碍

Ionic 会自动将 Loading 的 role 设置为 dialog

如果为 Loading 定义了 message 属性,则 aria-labelledby 属性将自动设置为消息元素的 ID。否则,aria-labelledby 将不会被设置,开发者必须使用 htmlAttributes 属性提供 aria-label

所有 ARIA 属性都可以通过在 Loading 的 htmlAttributes 属性中定义自定义值来手动覆盖。

接口

LoadingOptions

interface LoadingOptions {
spinner?: SpinnerTypes | null;
message?: string | IonicSafeString;
cssClass?: string | string[];
showBackdrop?: boolean;
duration?: number;
translucent?: boolean;
animated?: boolean;
backdropDismiss?: boolean;
mode?: Mode;
keyboardClose?: boolean;
id?: string;
htmlAttributes?: { [key: string]: any };

enterAnimation?: AnimationBuilder;
leaveAnimation?: AnimationBuilder;
}

属性

animated

说明If true, the loading indicator will animate.
属性animated
类型boolean
默认值true

backdropDismiss

说明If true, the loading indicator will be dismissed when the backdrop is clicked.
属性backdrop-dismiss
类型boolean
默认值false

cssClass

说明Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces.
属性css-class
类型string | string[] | undefined
默认值undefined

duration

说明Number of milliseconds to wait before dismissing the loading indicator.
属性duration
类型number
默认值0

enterAnimation

说明Animation to use when the loading indicator is presented.
属性undefined
类型((baseEl: any, opts?: any) => Animation) | undefined
默认值undefined

htmlAttributes

说明Additional attributes to pass to the loader.
属性undefined
类型undefined | { [key: string]: any; }
默认值undefined

isOpen

说明If true, the loading indicator will open. If false, the loading indicator will close. Use this if you need finer grained control over presentation, otherwise just use the loadingController or the trigger property. Note: isOpen will not automatically be set back to false when the loading indicator dismisses. You will need to do that in your code.
属性is-open
类型boolean
默认值false

keyboardClose

说明If true, the keyboard will be automatically dismissed when the overlay is presented.
属性keyboard-close
类型boolean
默认值true

leaveAnimation

说明Animation to use when the loading indicator is dismissed.
属性undefined
类型((baseEl: any, opts?: any) => Animation) | undefined
默认值undefined

message

说明Optional text content to display in the loading indicator.

This property accepts custom HTML as a string. Content is parsed as plaintext by default. innerHTMLTemplatesEnabled must be set to true in the Ionic config before custom HTML can be used.
属性message
类型IonicSafeString | string | undefined
默认值undefined

mode

说明The mode determines which platform styles to use.

这是一个虚拟属性,在初始化时设置一次,之后更改其值不会更新组件。
属性mode
类型"ios" | "md"
默认值undefined

showBackdrop

说明If true, a backdrop will be displayed behind the loading indicator.
属性show-backdrop
类型boolean
默认值true

spinner

说明The name of the spinner to display.
属性spinner
类型"bubbles" | "circles" | "circular" | "crescent" | "dots" | "lines" | "lines-sharp" | "lines-sharp-small" | "lines-small" | null | undefined
默认值undefined

translucent

说明If true, the loading indicator will be translucent. Only applies when the mode is "ios" and the device supports backdrop-filter.
属性translucent
类型boolean
默认值false

trigger

说明An ID corresponding to the trigger element that causes the loading indicator to open when clicked.
属性trigger
类型string | undefined
默认值undefined

事件

Name说明冒泡
didDismissEmitted after the loading indicator has dismissed. Shorthand for ionLoadingDidDismiss.true
didPresentEmitted after the loading indicator has presented. Shorthand for ionLoadingWillDismiss.true
ionLoadingDidDismissEmitted after the loading has dismissed.true
ionLoadingDidPresentEmitted after the loading has presented.true
ionLoadingWillDismissEmitted before the loading has dismissed.true
ionLoadingWillPresentEmitted before the loading has presented.true
willDismissEmitted before the loading indicator has dismissed. Shorthand for ionLoadingWillDismiss.true
willPresentEmitted before the loading indicator has presented. Shorthand for ionLoadingWillPresent.true

方法

dismiss

说明Dismiss the loading overlay after it has been presented. This is a no-op if the overlay has not been presented yet. If you want to remove an overlay from the DOM that was never presented, use the remove method.
签名dismiss(data?: any, role?: string) => Promise<boolean>
参数data: Any data to emit in the dismiss events.
role: The role of the element that is dismissing the loading. This can be useful in a button handler for determining which button was clicked to dismiss the loading. Some examples include: "cancel", "destructive", "selected", and "backdrop".

onDidDismiss

说明Returns a promise that resolves when the loading did dismiss.
签名onDidDismiss<T = any>() => Promise<OverlayEventDetail<T>>

onWillDismiss

说明Returns a promise that resolves when the loading will dismiss.
签名onWillDismiss<T = any>() => Promise<OverlayEventDetail<T>>

present

说明Present the loading overlay after it has been created.
签名present() => Promise<void>

CSS Shadow Parts

该组件没有可用的 CSS 阴影部分。

CSS 自定义属性

Name说明
--backdrop-opacityOpacity of the backdrop
--backgroundBackground of the loading dialog
--heightHeight of the loading dialog
--max-heightMaximum height of the loading dialog
--max-widthMaximum width of the loading dialog
--min-heightMinimum height of the loading dialog
--min-widthMinimum width of the loading dialog
--spinner-colorColor of the loading spinner
--widthWidth of the loading dialog

插槽

该组件没有可用的插槽。