dialog 模块提供原生模态对话框:文件/目录选择(open)、保存路径
(save)与消息提示三件套(message/ask/confirm)。它是
@tauri-apps/plugin-dialog 的移植,由内建的 plugin:dialog|* 命令支撑,
由运行时后端落到 NSOpenPanel/NSSavePanel/NSAlert。对话框是模态的,
需要用户交互才会返回。
dialog 属于框架内建命令:plugin:dialog|* 五条命令在框架启动时随
"每条内建命令一个 allow"注册进权限表,并由 core:default 集统一授予
(也可在 capability 里单独引用 core:allow-<cmd>)。它不需要插件构造、
没有 scope,capability 里无需额外条目(hello 示例的 core:default
已覆盖,见 examples/hello/capabilities/main.json)。
模态面板无法在自动 spike 里被点击,hello 前端只在注册级验证命令
存在。摘自 examples/hello/frontend/src/main.ts(锚点 DIALOG_REG_OK
为其真实运行输出;P27 起覆盖到 ask/confirm):
API 用法示例(基于 packages/api/src/dialog.ts 的签名改写)——注意
open 在 maxFiles > 1(或 multiple: true)时返回数组,取消时
返回 null;ask/confirm resolve 布尔值,message 返回被点按钮的
索引:
plugin:dialog|* 共 5 条,与 API 一一对应:
| 命令 | API |
|---|---|
open / save |
open / save |
message |
message(返回按钮索引) |
ask / confirm |
ask / confirm(返回布尔) |
适用版本:ztron 0.3.1