C

Dialog 对话框

反馈组件

模态弹出框,用于需要用户处理事务的重要场景,不支持多框叠加。

何时使用

需要用户处理重要事务,且不希望跳转页面打断工作流时使用模态框。

代码示例

基础用法

tsx
import { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogTitle, DialogDescription } from "@/components/ui/dialog"

export function Basic() {
return (
  <Dialog>
    <DialogTrigger>Open</DialogTrigger>
    <DialogContent>
    <DialogHeader>
      <DialogTitle>Title</DialogTitle>
      <DialogDescription>Description.</DialogDescription>
    </DialogHeader>
    </DialogContent>
  </Dialog>
)
}

API / Props

Dialog

PropTypeDefault说明
classNamestring自定义样式类名
...restReact.HTMLAttributes透传原生 DOM 属性

注意事项

  • Client Component: 使用 "use client",依赖 React hooks/状态,需在客户端渲染。
  • 复合组件: 包含 9 个子组件(DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader…),使用组合模式按需导入。
  • Base UI: 基于 @base-ui/react 无头(headless)原语构建,无障碍(a11y)开箱即用。

📘 完整交互式示例与控件属性请查看 Storybook 文档