跳到主要内容
版本:v6

ion-loading

scoped

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

基本用法

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

或者,开发者可以通过在加载选项的 duration 中传递要显示的毫秒数,将加载指示器配置为在特定时间后自动关闭。

内联(推荐)

控制器

自定义

旋转器

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

主题

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

我们建议传递一个自定义类并使用它来为主机和内部元素添加自定义样式。

备注

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.
签名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".

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.

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 阴影部分

该组件没有可用的 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

插槽

该组件没有可用的插槽。