Skip to content

开打资源管理器选择文件或目录

api文档:https://www.electronjs.org/docs/latest/api/dialog

dialog.showSaveDialogSync([browserWindow, ]options)

  • browserWindow BrowserWindow (可选)参数允许该对话框将自身附加到父窗口, 作为父窗口的模态框。
  • options 对象:
    • title String (可选) - 对话框标题。 无法在一些 Linux 桌面环境中显示。
    • defaultPath String (可选) - 默认情况下使用的绝对目录路径、绝对文件路径或文件名。
    • buttonLabel String (可选) - 「确认」按钮的自定义标签, 当为空时, 将使用默认标签。
    • filters FileFilter[] (可选)
    • properties String[] (可选)
      • showHiddenFiles-显示对话框中的隐藏文件。

返回 String[] | undefined, 用户选择的文件路径,如果对话框被取消了 ,则返回undefined

filters 指定一个文件类型数组,用于规定用户可见或可选的特定类型范围。 例如:

js
{
  filters: [
    { name: 'Images', extensions: ['jpg', 'png', 'gif'] },
    { name: 'Movies', extensions: ['mkv', 'avi', 'mp4'] },
    { name: 'Custom File Type', extensions: ['as'] },
    { name: 'All Files', extensions: ['*'] }
  ]
}

使用模块 dialog.showSaveDialogSync

主程序中引入模块

javascript
import { dialog } from 'electron'

渲染程序中引入模块

渲染程序需要添加依赖 npm install --save @electron/remote

javascript
const { dialog } = require('@electron/remote')

简单用法

选择目录

javascript
const result = dialog.showSaveDialogSync({
  title: '请选择文件保存目录'
})
// 返回选择的目录或文件路径
console.log(result)

个人收集整理, MIT License