120k

对话框

覆盖在主窗口或另一个对话框窗口之上的窗口,使下方的内容变为非活动状态。

import { Button } from "@/components/ui/button"
import {
  Dialog,

安装

pnpm dlx shadcn@latest add dialog

用法

import { Button } from "@/components/ui/button"
import {
  Dialog,
  DialogDescription,
  DialogHeader,
  DialogTitle,
  DialogTrigger,
} from "@/components/ui/dialog"
<DialogTrigger>
  <Button>打开</Button>
  <Dialog>
    <DialogHeader>
      <DialogTitle>你确定要继续吗?</DialogTitle>
      <DialogDescription>
        此操作无法撤销。这将永久删除你的账户,并从我们的服务器中移除你的数据。
      </DialogDescription>
    </DialogHeader>
  </Dialog>
</DialogTrigger>

组合

使用以下组合来构建一个 Dialog

DialogTrigger
├── Button
└── Dialog
    ├── DialogHeader
    │   ├── DialogTitle
    │   └── DialogDescription
    └── DialogFooter

自定义关闭按钮

使用您自己的按钮替换默认关闭控件。

import { Button } from "@/components/ui/button"
import {
  Dialog,

无关闭按钮

使用 showCloseButton={false} 隐藏关闭按钮。

import { Button } from "@/components/ui/button"
import {
  Dialog,

固定页脚

在内容滚动时保持操作可见。

import { Button } from "@/components/ui/button"
import {
  Dialog,

可滚动内容

较长的内容可以滚动,同时保持标题处于视野内。

import { Button } from "@/components/ui/button"
import {
  Dialog,

RTL

要在 shadcn/ui 中启用 RTL 支持,请参阅 RTL 配置指南

"use client"

import {

API 参考

更多信息请参阅 React Aria 文档。