useImperativeDialog
@astryxdesign/core v0.7.1 · useImperativeDialog
参数
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
defaultOptions | ImperativeDialogOptions | {} | 每次 show() 都带上的默认配置,就是 Dialog 的属性去掉 isOpen。某次调用自己再传一份,会覆盖在这些之上。 |
返回值
| 名称 | 类型 | 说明 |
|---|---|---|
show | (content: () => VNodeChild, options?: ImperativeDialogOptions) => void | 按给定内容打开对话框。配置就是 Dialog 的属性去掉 isOpen 和内容。 |
hide | () => void | 关掉对话框。 |
isOpen | Readonly<Ref<boolean>> | 对话框当前是否打开。 |
Host | Component | 承载对话框的组件。在模板里渲染一次:<component :is="dialog.Host" />。 |
配置项
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
width | number | string | — | 期望宽度。数字按像素,字符串原样使用。全屏变体忽略它。 |
maxHeight | number | string | — | 最大高度。数字按像素,字符串原样使用。全屏变体忽略它。 |
position | DialogPosition | 居中 | 固定位置。水平方向用 start 和 end,RTL 下自动镜像。 |
variant | 'standard' | 'fullscreen' | 'standard' | 标准对话框由 width 和 maxHeight 定尺寸;全屏的占满视口。 |
purpose | 'info' | 'form' | 'required' | 'info' | 用什么方式关。required 禁用 Escape 和遮罩;form 保留 Escape、禁用遮罩;info 两者都允许。 |
padding | DialogPadding | 主题默认值 | 内边距档位,对应 --astryx-spacing-* 这些 token。 |