Loading 加载
加载数据时显示动效。
区域加载
在 table 等容器中加载数据时显示。
自定义
可自定义加载文案、加载动画和背景色。
警告
虽然 element-loading-spinner / element-loading-svg 属性支持传入 HTML 片段,但是在网站上动态渲染任意 HTML 是非常危险的,因为容易导致 跨站脚本攻击 (XSS)。 请务必确保 element-loading-spinner / element-loading-svg 的内容是可信的,永远不要将用户提交的内容赋值给 element-loading-spinner / element-loading-svg 属性。
整页加载
加载数据时显示整页的动效。
服务
您也可以使用服务的方式调用 Loading。 引入 Loading 服务
import { ElLoading } from 'element-plus'调用它
ElLoading.service(options)options 参数为 Loading 的配置项,具体见下表。 LoadingService 会返回一个 Loading 实例,可通过调用该实例的 close 方法来关闭它:
const loadingInstance = ElLoading.service(options)
nextTick(() => {
// Loading should be closed asynchronously
loadingInstance.close()
})需要注意的是,在這種情況下,全屏的 Loading 是單例的。 如果在一個全屏 Loading 關閉前再次调用全屏 Loading,那么該函數不會創建一個新的 Loading 實例,而是返回現在的全屏 Loading 的實例:
const loadingInstance1 = ElLoading.service({ fullscreen: true })
const loadingInstance2 = ElLoading.service({ fullscreen: true })
console.log(loadingInstance1 === loadingInstance2) // true调用其中任意一个的 close 方法都能关闭这个全屏的 Loading。
如果完整引入了 Element Plus,那么 Vue 的每个组件实例都会自动注入 $loading 方法,你可以在组件内像这样调用:this.$loading(options)。 它同样会返回一个 Loading 实例。
应用上下文继承 2.9.10
现在 loading 接受一个 context 作为 loading 构造函数的第二个参数,它允许您将当前应用程序的上下文注入到 loading 中,这允许您继承应用程序的所有属性。
您可以像这样使用它
提示
如果您全局注册了 ElLoading 组件,它将自动继承您的应用上下文。
import { getCurrentInstance } from 'vue'
import { ElLoading } from 'element-plus'
// in your setup method
const { appContext } = getCurrentInstance()!
ElLoading.service({}, appContext)API
配置项
| 名称 | 描述 | 类型 | 默认值 |
|---|---|---|---|
| target | Loading 需要覆盖的 DOM 节点。 可传入一个 DOM 对象或字符串; 若传入字符串,则会将其作为参数传入 document.querySelector 以获取到对应 DOM 节点 | string / HTMLElement | document.body |
| body | 同 v-loading 指令中的 body 修饰符 | boolean | false |
| fullscreen | 同 v-loading 指令中的 fullscreen 修饰符 | boolean | true |
| lock | 同 v-loading 指令中的 lock 修饰符 | boolean | false |
| 文本 | 显示在加载图标下方的加载文案 | string / VNode / array | — |
| spinner | 自定义加载图标的类名 | string | — |
| background | 遮罩层的背景色 | string | — |
| customClass | Loading 的自定义类名 | string | — |
| svg | 自定义 SVG 元素,会覆盖默认的加载动画 | string | — |
| svgViewBox | 设置加载中 svg 元素的 viewBox 属性 | string | — |
| beforeClose 2.7.8 | 在 loading 尝试关闭前执行的函数。 如果此函数返回 false,则关闭过程将被中止。 否则,loading 将被关闭。 | Function | — |
| closed 2.7.8 | 在 loading 完全关闭后触发的函数 | Function | — |
指令
| 名称 | 描述 | 类型 |
|---|---|---|
| v-loading | 加载数据时显示动效 | boolean / LoadingOptions |
| element-loading-text | 显示在加载图标下方的加载文案 | string |
| element-loading-spinner | 自定义加载图标 | string |
| element-loading-svg | 自定义加载图标 (与 element-loading-spinner 相同) | string |
| element-loading-svg-view-box | 设置加载中 svg 元素的 viewBox 属性 | string |
| element-loading-background | 遮罩层的背景色 | string |
| element-loading-custom-class | Loading 的自定义类名 | string |