简体   繁体   中英

electron open default file browser window without returning anything

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM