Загрузка
Глобальный сервис загрузочной маски. Как и Message, использует паттерн точки монтирования.
Размещение точки монтирования
vue
<template>
<lh-config-provider>
<view><!-- Содержимое страницы --></view>
<lh-loading />
</lh-config-provider>
</template>Вызов
ts
import { useLhLoading } from '@lh-ui/uniapp'
const loading = useLhLoading()
// show принимает объект опций или просто строку с текстом, возвращает handle
const handle = loading.show({ text: 'Загрузка...' })
handle.close()
// Закрыть все
loading.closeAll()Без точки монтирования будет предупреждение
Как и у Message: если вызван useLhLoading(), а на странице нет <lh-loading />, в режиме разработки выдаётся явный console.error, без молчаливой деградации.
LhLoadingOptions
| Проп | Описание | Тип | По умолчанию |
|---|---|---|---|
| target | Целевой узел (только на H5; на MP всегда полноэкранная маска) | string | — |
| text | Текст загрузки | string | — |
| background | Цвет фоновой маски | string | — |
| lock | Блокировка прокрутки (только на H5) | boolean | false |
| zIndex | Z-index; если не передан, назначается по нарастающей | number | — |
Методы
| Метод | Описание | Параметры |
|---|---|---|
| show | Показывает загрузочную маску, возвращает handle ({ close }) | (options: LhLoadingOptions | string) |
| close | Закрывает загрузку с указанным id | (id: number) |
| closeAll | Закрывает все | — |
Отличия от версии для Vue3
targetна платформе Mini Program поддерживает только полноэкранную маску — в Mini Program нельзя выбрать произвольный узел для маски, в первом выпуске на стороне MPtargetигнорируется (поле сохранено и описано в документации).lockработает только на H5; в Mini Program нет блокировки прокрутки body.- При наложении нескольких экземпляров
useLhZIndexгарантирует, что более поздняя маска будет выше.