1 回答
TA贡献1799条经验 获得超9个赞
我在某种帮助下弄明白了。因此,如果有人需要相同的程序,我会尝试解释我做了什么。
所以,总的来说,我不得不添加一个 then,因为 showDialog 返回一个承诺
if (os.platform() === "linux" || os.platform() === "win32") {
dialog
.showOpenDialog({
properties: ["openFile", "openDirectory"],
})
.then((result) => {
if (result) win.webContents.send("path:selected", result.filePaths);
})
.catch((err) => {
console.log(err);
});
} else {
dialog
.showOpenDialog({
properties: ["openFile", "openDirectory"],
})
.then((result) => {
console.log(result.filePaths);
if (result) win.webContents.send("path:selected", result.filePaths);
})
.catch((err) => {
console.log(err);
});
}
});
这将发回一个路径为 [0] 的数组
在渲染器中,我忘记将事件添加为参数。
ipc.on("path:selected", (event, path) => {
chosenPath = path;
console.log("Full path: ", chosenPath[0]);
});
添加回答
举报