用途
Syncfusion React Dialog 技能文档面向需要在 React 应用中实现对话框与模态窗口的开发者。它围绕 DialogComponent 组件,说明如何创建浮动窗口来展示内容,并覆盖模态/非模态、定位、拖拽、缩放、动画、模板、按钮、事件、无障碍与本地化等能力。
主要能力
- 模态/非模态模式:通过 isModal 控制是否阻止父级交互。
- 定位:支持 9 种预设位置组合,以及自定义 X/Y 像素定位。
- 拖拽:通过 allowDragging 启用基于标题栏的拖拽。
- 缩放:通过 enableResize 与 resizeHandles 配置对角缩放手柄。
- 模板:支持自定义页眉、内容与页脚(header、content、footerTemplate)。
- 动画:提供 16 种效果(Fade、Zoom、Flip、Slide、FadeZoom 等),可设置 duration 与 delay。
- 按钮:内置操作按钮数组,支持点击处理与样式类。
- 事件:open、close、beforeOpen、beforeClose、drag、dragStart、dragStop、resize 等。
- 键盘导航:Tab、Escape(closeOnEscape)、Enter。
- 无障碍:WCAG 2.2、ARIA 角色与焦点管理。
- 本地化:通过 locale 属性支持 20 多种语言。
- RTL:通过 enableRtl 支持从右到左渲染。
使用方式
文档按主题组织为多个参考章节,建议按需阅读:
- 入门:references/getting-started.md,包含安装(@syncfusion/ej2-react-popups)、CSS/主题导入(material、bootstrap、tailwind)、基本 JSX 结构、show()/hide() 方法与 refs、函数组件与 hooks 模式、visible 初始可见性。
- 模态对比:references/modal-vs-modeless.md,说明 isModal 布尔属性、模态遮罩与父级阻止、非模态浮动行为、焦点管理差异及选择建议。
- 定位与拖拽:references/positioning-and-dragging.md,说明 position 对象(X: 'center'|'left'|'right'|number,Y: 'top'|'center'|'bottom'|number)、9 种预设组合、像素定位、allowDragging、enableResize 与 resizeHandles、target 约束。
- 模板与内容:references/templates-and-content.md,说明 content(字符串、HTML、JSX 函数)、header、footerTemplate、动态内容更新、HTML 净化(enableHtmlSanitizer)与样式边界情况。
- 按钮与操作:references/buttons-and-actions.md,说明 buttons 数组与 ButtonPropsModel[]、ButtonPropsModel 结构(buttonModel、click、isFlat、type)、buttonModel 属性(content、isPrimary、cssClass)、点击处理与按钮类型。
- 动画效果:references/animation-effects.md,说明 AnimationSettingsModel(effect、duration、delay)、16 种效果、毫秒时长、延迟、禁用动画(effect: 'None')与性能考量。
- 本地化与无障碍:references/localization-and-accessibility.md,说明 locale、WCAG 2.2、键盘导航、closeOnEscape、ARIA、屏幕阅读器、enableRtl 与焦点管理模式。
- 高级模式:references/advanced-patterns.md,说明各类事件、嵌套与堆叠对话框、带验证表单、AJAX 内容加载、beforeClose 阻止关闭、全屏对话框、HTML 净化与安全、CSS 类与 z-index、enablePersistence 及常见边界情况。
- API 参考:references/api-reference.md,列出全部 24 个 DialogModel 属性及类型与默认值、11 个事件及事件参数、方法(show()、hide()、refresh()、destroy())、ButtonPropsModel 结构、AnimationSettingsModel 的 16 种效果、类型与枚举及快速参考模式。
文档提供快速开始示例:使用 useRef 与 useState,导入 DialogComponent 及 material 主题样式,定义 buttons 数组(OK/Cancel),通过 ref 调用 show()/hide(),并设置 header、showCloseIcon、target、width、isModal、visible 等属性。
适用场景
文档列出的常见用例包括:确认对话框(删除、提交等关键操作前确认)、警告/信息弹窗、表单对话框(编辑资料、设置或新建记录)、输入提示、可拖拽非模态属性面板、多步骤工作流(嵌套对话框)、加载/处理进度、帮助/文档浮层、图片画廊灯箱、设置/偏好面板。
限制
资料未提供该组件的收费、价格、平台兼容版本、性能基准或效果保证等信息,相关内容暂未提供。使用前请以官方文档与许可条款为准。