主进程(官方示例):
const { dialog } = require('electron')
console.log(dialog.showOpenDialog({ properties: ['openFile', 'multiSelections'] }))
渲染进程:
如果是在渲染进程中使用,可以使用以下方式:
const { dialog } = require('electron').remote
console.log(dialog.showOpenDialog({ properties: ['openFile', 'multiSelections'] }))
选择结果(官方示例):
dialog.showOpenDialog(mainWindow, {
properties: ['openFile', 'openDirectory']
}).then(result => {
console.log(result.canceled)
console.log(result.filePaths)
}).catch(err => {
console.log(err)
})
在 VUE 集成 Electron 项目上使用此类会报错:dialog.showOpenDialog(...).then is not a function,可使用以下方式:
dialog.showOpenDialog({
properties: ['openDirectory']
}, (result) => {
console.log(result);
})
其他配置参数,使用方式可参考:
官方文档:
https://www.electronjs.org/docs/api/dialog
参考资料: