Skip to content

Loading 로딩 ​

전역 로딩 오버레이 서비스. 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 전용)booleanfalse
zIndex층위(미전달 시 자동 증가 할당)number—

메서드 ​

메서드설명매개변수
show로딩 오버레이를 표시하고 handle({ close }) 반환(options: LhLoadingOptions | string)
close지정 id의 로딩 닫기(id: number)
closeAll모두 닫기—

Vue3 버전과의 차이 ​

  • target은 미니프로그램 측에서 전체 화면 오버레이만 지원 — 미니프로그램에서는 임의의 노드를 선택해 오버레이를 붙일 수 없어, 초판 MP 측은 target을 무시합니다(필드는 유지, 문서에 명시).
  • lock은 H5에서만 유효하며, 미니프로그램에는 body 스크롤 잠금이 없습니다.
  • 여러 인스턴스가 겹칠 때 useLhZIndex가 나중에 열린 오버레이를 상위 층에 보장합니다.