跳到内容
Tauri

@tauri-apps/plugin-dialog

接口

ConfirmDialogOptions

属性

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

DialogFilter

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

始于

2.0.0

属性

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

MessageDialogOptions

始于

2.0.0

属性

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

OpenDialogOptions

打开对话框的选项。

始于

2.0.0

属性

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

SaveDialogOptions

保存对话框的选项。

始于

2.0.0

属性

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

类型别名

OpenDialogReturn<T>

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

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

函数

ask()

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

显示一个带有“是”和“否”按钮的询问对话框。

参数

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

返回值

Promise<boolean>

一个 Promise,解析为一个布尔值,指示是否点击了“是”。

示例

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

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


confirm()

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

显示一个带有“确定”和“取消”按钮的询问对话框。

参数

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

返回值

Promise<boolean>

一个 Promise,解析为一个布尔值,指示是否点击了“确定”。

示例

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

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


message()

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

显示一个带有“确定”按钮的消息对话框。

参数

参数类型描述
messagestring要显示的消息。
options?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

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


open()

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

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

选定的路径已添加到文件系统和资产协议作用域。当安全比此 API 的易用性更重要时,请优先编写专用命令。

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

类型参数

类型参数
T extends OpenDialogOptions

参数

参数类型
optionsT

返回值

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

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


save()

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

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

选定的路径已添加到文件系统和资产协议作用域。当安全比此 API 的易用性更重要时,请优先编写专用命令。

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

参数

参数类型
optionsSaveDialogOptions

返回值

Promise<string | null>

一个 Promise,解析为选定的路径。

示例

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

始于

2.0.0

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


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