Dialog
声明式对话框。焦点陷阱、Esc / 点遮罩关闭、滚动锁、aria 关联全部交给 Reka UI——手写的 fixed inset-0 弹层这些一个都没有,键盘用户会直接卡在背景内容里。
「先斩后奏」的中断确认用命令式 confirm / alert / prompt,见模式 → 命令式对话框。
声明式用法
声明式 XDialog
命令式 API
createDialogApi / useDialog 提供 confirm / alert / prompt,动态挂载、决策后自毁,模板里不用预留任何标签。在 Reka 的 AlertDialog 之上:点遮罩不关闭(「必须做出选择」的中断语义)。
ts
const dialog = useDialog()
const ok = await dialog.confirm({ message: '删除后不可恢复', variant: 'danger' })
API
Props
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
title | string | undefined | undefined | — |
description | string | undefined | undefined | 补充说明,同时作为 aria-describedby 的内容 |
hideClose | boolean | undefined | false | 关掉右上角关闭按钮(例如必须做出选择的场景) |
open | boolean | undefined | false | — |
Emits
| 事件 | 载荷 | 说明 |
|---|---|---|
update:open | [value: boolean] | — |
Slots
| 插槽 | 说明 |
|---|---|
default | — |
footer | — |