I am working on an electron app that can open a directory file picker and return a value, like how this question does it: Electron - Open Folder Dialog
ipcMain.on('selectDirectory', function() {
dir = dialog.showOpenDialog(mainWindow, {
properties: ['openDirectory']
});
});
But I cannot find a way to open the folder dialog without returning anything, like if I as a user want to open the location of a file. I don't want to lock my program by waiting for a selected file/folder. I just want a window to a specific location to open on a user's machine through my cross-platform electron app (mac/win/linux)
Electron's dialog.showOpenDialog() returns a promise, so it would need to be handled as such.
ipcMain.on('selectDirectory', function() {
// Define the options.
let options = {
title: "My title",
properties: ['openDirectory'],
defaultPath: "/absolute/path/to/open/at" // Optional.
}
// Show the open (folder) dialog.
dialog.showOpenDialog(mainWindow, options)
.then((result) => {
// Bail early if user cancelled dialog.
if (result.canceled) { return }
// Get the selected path.
let path = result.filePaths[0];
// More processing...
})
});
If you wish to set the inital path the dialog opens at then set the defaultPath property.
The path variable will give you the path the user selected in the dialog.