LVRS Storyboard Frame
components/surfaces/Alert.svx
Path: components/surfaces/Alert.svx
경고
위치: qml/components/surfaces/Alert.qml
Alert는 구성 가능한 1/2/3 액션 레이아웃을 갖춘 중앙 오버레이 다이얼로그 표면입니다.
목적
- 앱 수준의 차단/주의 대화 상자를 제공합니다.
- 1차/2차/3차 행동 패턴을 하나의 구성 요소에서 지원합니다.
API
상태 및 텍스트:
openbuttonCount(0=auto,2,3)titlemessageprimaryText,secondaryText,tertiaryTextprimaryEnabled,secondaryEnabled,tertiaryEnabled
행동:
dismissOnBackgrounduseOverlayLayer
크기/시각:
minWidth,maxWidth,preferredWidthbackdropColorcardBackgroundColorappIconBackgroundColor,appIconFrameColor,appIconInnerColor
파생 레이아웃 플래그:
hasSecondaryActionhasTertiaryActionuseVerticalActionLayout
신호:
primaryClicked()secondaryClicked()tertiaryClicked()dismissed()
동작 레이아웃 규칙
buttonCount == 3-> 수직 3-버튼 스택buttonCount == 2-> 가로 2-버튼 행buttonCount == 0(자동) + 3차 존재 -> 수직 3-버튼 스택buttonCount == 0(자동) + 3차 부재 + 2차 존재 → 수평 2-버튼 행- 기본만 -> 단일 전체 너비 기본 버튼
buttonCount가 명시적일 경우(2 또는 3), 빈 secondaryText / tertiaryText는 동작 카운트 계약을 유지하기 위해 자동으로 "Button"로 교체됩니다.
사용법
import LVRS 1.0 as LV
LV.Alert {
open: state.showDeleteDialog
buttonCount: 2
title: "Delete Scene?"
message: "This action cannot be undone."
primaryText: "Delete"
secondaryText: "Cancel"
onPrimaryClicked: confirmDelete()
onSecondaryClicked: state.showDeleteDialog = false
}
동작 원리
- 열려 있을 때, 구성 요소가 구성될 때 오버레이 레이어를 다시 부모로 합니다.
- 백드롭 클릭 해제 동작은 옵트인(
dismissOnBackground)입니다. - 카드 배경 기본값은 대비를 안정적으로 유지하기 위해 동작 레이아웃에 따라 다릅니다.
고급 예시: 3- 액션 수직 레이아웃
import LVRS 1.0 as LV
LV.Alert {
open: true
buttonCount: 3
title: "Unsaved Changes"
message: "Choose how to proceed."
primaryText: "Save"
secondaryText: "Discard"
tertiaryText: "Cancel"
}
운영 참고 사항
buttonCount가 명시적으로2/3로 설정된 경우, 해당 값이 레이아웃 선택에 우선 순위가 부여됩니다.buttonCount == 0(자동)일 때,tertiaryText의 존재가 수직 레이아웃과 수평 레이아웃을 결정합니다.dismissed()를 사용하여 백그라운드 디스미스 상태 정리를 통합하십시오.- 앱 상태 스토어에서
open를 단일 기준로 유지하여 오래된 오버레이 가시성을 방지하십시오.
실패 패턴
여러 구성 요소에서 별도의 로컬 open 플래그를 유지하면 대화 상태가 동기화되지 않을 수 있습니다. 알림 가시성을 위해 단일 앱 수준의 기준 원본를 사용하십시오.