跳到内容
Tauri

@tauri-apps/plugin-dialog

属性类型描述定义于
cancelLabel?string取消按钮的标签。来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L100
kind?"info" | "warning" | "error"对话框的类型。默认为 info来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L96
okLabel?string确认按钮的标签。来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L98
title?string对话框的标题。默认为应用名称。来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L94

文件对话框的扩展名过滤器。

2.0.0

属性类型描述定义于
extensionsstring[]要过滤的扩展名,不带 . 前缀。示例 extensions: ['svg', 'png']来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L22
namestring过滤器名称。来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L14

2.0.0

属性类型描述定义于
kind?"info" | "warning" | "error"对话框的类型。默认为 info来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L87
okLabel?string确认按钮的标签。来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L89
title?string对话框的标题。默认为应用名称。来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L85

打开对话框的选项。

2.0.0

属性类型描述定义于
canCreateDirectories?布尔值 (boolean)是否允许在对话框中创建目录。默认启用。仅限 macOS来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L54
defaultPath?string初始目录或文件路径。如果它是一个目录路径,对话框界面将更改为该文件夹。如果它不是一个现有目录,文件名将被设置为对话框的文件名输入,并且对话框将被设置为父文件夹。在移动设备上,文件名总是用于对话框的文件名输入。如果未提供,Android 将使用 (invalid).txt 作为默认文件名。来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L43
directory?布尔值 (boolean)对话框是否为目录选择。来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L47
filters?DialogFilter[]对话框的过滤器。来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L34
multiple?布尔值 (boolean)对话框是否允许多选。来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L45
recursive?布尔值 (boolean)如果 directory 为 true,表示稍后将递归读取。定义是否允许在范围内包含子目录。来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L52
title?string对话框窗口的标题(仅限桌面)。来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L32

保存对话框的选项。

2.0.0

属性类型描述定义于
canCreateDirectories?布尔值 (boolean)是否允许在对话框中创建目录。默认启用。仅限 macOS来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L77
defaultPath?string初始目录或文件路径。如果它是一个目录路径,对话框界面将更改为该文件夹。如果它不是一个现有目录,文件名将被设置为对话框的文件名输入,并且对话框将被设置为父文件夹。在移动设备上,文件名总是用于对话框的文件名输入。如果未提供,Android 将使用 (invalid).txt 作为默认文件名。来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L75
filters?DialogFilter[]对话框的过滤器。来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L66
title?string对话框窗口的标题(仅限桌面)。来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L64

type OpenDialogReturn<T>: T["directory"] extends true ? T["multiple"] extends true ? string[] | null : string | null : T["multiple"] extends true ? string[] | null : string | null;
类型参数
T extends OpenDialogOptions

来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L103

function ask(message, options?): Promise<boolean>

显示一个带 YesNo 按钮的提问对话框。

参数类型描述
消息string要显示的消息。
选项?string | ConfirmDialogOptions对话框的选项。如果为字符串,则表示对话框标题。

Promise<boolean>

一个解析为布尔值的 Promise,指示是否点击了 Yes

import { ask } from '@tauri-apps/plugin-dialog';
const yes = await ask('Are you sure?', 'Tauri');
const yes2 = await ask('This action cannot be reverted. Are you sure?', { title: 'Tauri', kind: 'warning' });

2.0.0

来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L251


function confirm(message, options?): Promise<boolean>

显示一个带 OkCancel 按钮的提问对话框。

参数类型描述
消息string要显示的消息。
选项?string | ConfirmDialogOptions对话框的选项。如果为字符串,则表示对话框标题。

Promise<boolean>

一个解析为布尔值的 Promise,指示是否点击了 Ok

import { confirm } from '@tauri-apps/plugin-dialog';
const confirmed = await confirm('Are you sure?', 'Tauri');
const confirmed2 = await confirm('This action cannot be reverted. Are you sure?', { title: 'Tauri', kind: 'warning' });

2.0.0

来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L281


function message(message, options?): Promise<void>

显示一个带 Ok 按钮的消息对话框。

参数类型描述
消息string要显示的消息。
选项?string | MessageDialogOptions对话框的选项。如果为字符串,则表示对话框标题。

Promise<void>

表示操作成功或失败的 Promise。

import { message } from '@tauri-apps/plugin-dialog';
await message('Tauri is awesome', 'Tauri');
await message('File not found', { title: 'Tauri', kind: 'error' });

2.0.0

来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L222


function open<T>(options): Promise<OpenDialogReturn<T>>

打开文件/目录选择对话框。

选定的路径会添加到文件系统和资产协议作用域。如果安全性比此 API 的易用性更重要,则更倾向于编写专用命令。

请注意,作用域更改不会持久化,因此当应用程序重新启动时,这些值会被清除。您可以使用 tauri-plugin-persisted-scope 将其保存到文件系统。

类型参数
T extends OpenDialogOptions
参数类型
选项T

Promise<OpenDialogReturn<T>>

解析为所选路径的 Promise

import { open } from '@tauri-apps/plugin-dialog';
// Open a selection dialog for image files
const selected = await open({
multiple: true,
filters: [{
name: 'Image',
extensions: ['png', 'jpeg']
}]
});
if (Array.isArray(selected)) {
// user selected multiple files
} else if (selected === null) {
// user cancelled the selection
} else {
// user selected a single file
}
import { open } from '@tauri-apps/plugin-dialog';
import { appDir } from '@tauri-apps/api/path';
// Open a selection dialog for directories
const selected = await open({
directory: true,
multiple: true,
defaultPath: await appDir(),
});
if (Array.isArray(selected)) {
// user selected multiple directories
} else if (selected === null) {
// user cancelled the selection
} else {
// user selected a single directory
}

2.0.0

来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L163


function save(options): Promise<string | null>

打开文件/目录保存对话框。

选定的路径会添加到文件系统和资产协议作用域。如果安全性比此 API 的易用性更重要,则更倾向于编写专用命令。

请注意,作用域更改不会持久化,因此当应用程序重新启动时,这些值会被清除。您可以使用 tauri-plugin-persisted-scope 将其保存到文件系统。

参数类型
选项SaveDialogOptions

Promise<string | null>

解析为所选路径的 Promise。

import { save } from '@tauri-apps/plugin-dialog';
const filePath = await save({
filters: [{
name: 'Image',
extensions: ['png', 'jpeg']
}]
});

2.0.0

来源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/dialog/guest-js/index.ts#L197


© 2025 Tauri 贡献者。CC-BY / MIT