用途:指导在 shadcn UI 中添加、调试或重构 Dialog——一个基于 Radix Dialog 的焦点陷阱模态框,并覆盖其十个组合原语(Dialog、DialogTrigger、DialogPortal、DialogOverlay、DialogContent、DialogHeader、DialogFooter、DialogTitle、DialogDescription、DialogClose)。AlertDialog、Sheet、Drawer、CommandDialog 等同类组件均沿用相同的受控状态与无障碍契约。
主要能力:说明各原语职责与关键属性,如 Dialog 的 open/onOpenChange/defaultOpen/modal,DialogContent 的 showCloseButton 与各类事件回调,DialogPortal 的 container/forceMount。给出受控与非受控的选择决策、Portal 渲染与 z-index 处理、RSC 下必须保留 "use client"、表单提交后关闭、以及用 sr-only 隐藏标题但保留无障碍名称的做法。
必要用法:DialogTitle 必须提供;open 与 onOpenChange 必须成对使用;DialogContent 自动包裹 Portal 与 Overlay,通常直接渲染即可;DialogClose asChild 只能包一个子元素。
适用场景:需要模态确认、表单弹窗、移动端侧栏等对话框交互时。
限制:资料未提供安装命令、版本要求、收费或性能数据;具体实现细节以官方文档与源码为准。