我正在学习在我的 Electron 应用程序中不使用 remote
,现在我到了需要从渲染器打开文件的步骤,我理解这需要主进程来显示文件对话框并返回结果。
在我的 main.js
中,我有以下内容:
ipcMain.on('open-file',(event,data)=>{
dialog.showOpenDialog(null, data, (filePaths) => {
event.sender.send('open-file-paths', filePaths);
});
});
在我的渲染过程中,我称之为
pager.js
,我有以下内容:ipcRenderer.send('open-file',{
title: 'Title',
defaultPath: localStorage.getItem('defaultPath')
});
ipcRenderer.on('open-file-paths',(event,data)=>{
console.log(event);
console.log(data);
});
文件打开对话框还算工作正常,但我不知道如何获取结果。 ipcRenderer.on('open-file-paths',…)
没有被调用,显然这不是正确的方法。我想要获取选定的路径或取消消息。
在渲染进程中,如何获取 showOpenDialog
的结果?
dialog.showOpenDialogSync([browserWindow, ]options)
。 - Артем Межеловский