다이얼로그
다이얼로그 (Dialog)
다이얼로그는 기본 창이나 다른 다이얼로그 위에 겹쳐 보여주는 창이에요. 그 아래 콘텐츠는 비활성(inert) 상태로 만들어서 사용자가 뒤의 내용을 건드리지 못하게 해요. 프로필 수정, 삭제 확인처럼 집중이 필요한 작업에 딱 맞죠.
출처: 문서
본문
설치하기
npx shadcn@latest add dialog
npm install @radix-ui/react-dialog
사용하기
import {
Dialog,
DialogContent,
DialogDescription,
DialogHeader,
DialogTitle,
DialogTrigger,
} from "@/components/ui/dialog"
<Dialog>
<DialogTrigger>Open</DialogTrigger>
<DialogContent>
<DialogHeader>
<DialogTitle>Are you absolutely sure?</DialogTitle>
<DialogDescription>
This action cannot be undone. This will permanently delete your account
and remove your data from our servers.
</DialogDescription>
</DialogHeader>
</DialogContent>
</Dialog>
예시
Custom close button (커스텀 닫기 버튼)
Notes (참고)
Context Menu나 Dropdown Menu 안에서 Dialog 컴포넌트를 열려면, Context Menu나 Dropdown Menu 컴포넌트를 Dialog 컴포넌트 안에 감싸줘야 해요. 자세한 내용은 관련 이슈 여기에서 확인할 수 있어요.
<Dialog>
<ContextMenu>
<ContextMenuTrigger>Right click</ContextMenuTrigger>
<ContextMenuContent>
<ContextMenuItem>Open</ContextMenuItem>
<ContextMenuItem>Download</ContextMenuItem>
<DialogTrigger asChild>
<ContextMenuItem>
<span>Delete</span>
</ContextMenuItem>
</DialogTrigger>
</ContextMenuContent>
</ContextMenu>
<DialogContent>
<DialogHeader>
<DialogTitle>Are you absolutely sure?</DialogTitle>
<DialogDescription>
This action cannot be undone. Are you sure you want to permanently
delete this file from our servers?
</DialogDescription>
</DialogHeader>
<DialogFooter>
<Button type="submit">Confirm</Button>
</DialogFooter>
</DialogContent>
</Dialog>
더 알아보기 (Learn more)
- Radix UI Dialog — 다이얼로그의 기반이 되는 Radix UI 프리미티브 문서예요.