4、Tauri API - dialog

963 阅读2分钟

dialog

系统对话框-用于打开和保存文件

如果在 tauri.conf.json 文件中把 build.withGlobalTauri 设置为true,则也可通过window.__ TAURI __ .dialog访问。

以下函数必须添加到 tauri.conf.json 文件中的 tauri.allowlist.dialog 里

{
  "tauri": {
    "allowlist": {
      "dialog": {
        "all": true, // dialog下的所有函数都可以用
        "open": true,
        "save": true
      }
    }
  }
}

不建议用all,最好把所用的列出来,可以减少包的大小以及提高安全性。

对象

MessageDialogOptions

属性名类型说明可选值默认值
titlestring对话框的标题--应用程序名称
typestring对话框的类型info/warning/errorinfo

DialogFilter

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

属性名类型说明可选值默认值
extensionsstring[]过滤器,不带 .----
namestring过滤器名称----

例:

extensions: ['svg', 'png']

OpenDialogOptions

打开对话框的选项

属性名类型说明可选值默认值
defaultPathstring初始目录或文件路径----
directoryboolean对话框是否为目录选择----
filtersDialogFilter[]对话框过滤器----
multipleboolean对话框是否允许多选----
recursiveboolean如果directory为true,是否递归读取该目录----
titlestring对话框窗口的标题----

SaveDialogOptions

保存对话框的选项

属性名类型说明可选值默认值
defaultPathstring初始目录或文件路径----
filtersDialogFilter[]对话框过滤器----
titlestring对话框窗口的标题----

函数

ask

ask(message: string, options?:string | MessageDialogOptions): Promise < boolean >

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

参数

参数名类型描述
messagestring要显示的信息
optionsstring | MessageDialogOptions配置项。如果是字符串,则表示对话框标题。

版本:1.0.0

confirm

confirm(message: string, options?:string | MessageDialogOptions): Promise < boolean >

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

参数:同上

版本:1.0.0

message

message(message: string, options?:string | MessageDialogOptions): Promise < void >

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

参数:同上

版本:1.0.0

open

open(options?:string | OpenDialogOptions): Promise < null | string | string[] >

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

例:

import { open } from '@tauri-apps/api/dialog';  
// 打开对话框
const selected = await open({  
    multiple: true,  
    filters: [{  
        name: 'Image',
        extensions: ['png', 'jpeg']
    }]
});
if (Array.isArray(selected)) {  
    // 用户选择多个文件  
} else if (selected === null) {  
    // 用户取消选择 
} else {  
    // 用户选择单个文件
}