我们有一个基于Electron(v4.0.1)的应用程序(React),该应用程序使用<input type="file"...>
打开了一个标准文件选择对话框。在Windows / Linux上,当用户单击主应用程序时,文件对话框将保留在主应用程序UI的顶部。但是,在Mac(OSX)上,主应用程序用户界面将覆盖文件对话框(现已从视图中消失),并且重新聚焦的唯一方法是按alt + tab直到出现。
无论如何,当用户单击主应用程序时(如在Windows / Linux中),我们是否可以避免这种行为并使文件对话框保持最突出的焦点?
答案 0 :(得分:1)
为解决此问题,有一个Electron模块,可让您创建具有所需规格的本机(文件)对话框。
创建没有任何过滤器(如目录打开,多选或文件类型过滤器)的模式浏览器窗口非常简单,如下所示:
const { dialog, remote } = require ("electron");
var selected = dialog.showOpenDialog (
remote.getCurrentWindow (),
{ properties: ["openFile"] }
);
if (typeof selected === "undefined") {
// Oh no! The user didn't select anything!
} else {
// ...
}
The documentation on dialog
还有一些使用此API的复杂示例。