Mac OSX上的电子应用程序,用于文件选择的输入

问题描述 投票:0回答:1

我们有一个基于电子(v4.0.1)的应用程序(React),它使用<input type="file"...>打开标准文件选择对话框。在Windows / Linux上,当用户点击主应用程序时,文件对话框将保留在主应用程序UI的顶部。但是在Mac(OSX)上,主应用程序UI将覆盖文件对话框(现在已从视图中消失),重新聚焦的唯一方法是alt + tab直到它出现。

无论如何我们可以避免这种行为,并且当用户点击主应用程序时(如在Windows / Linux中),文件对话框仍然是最关注的?

html reactjs macos electron
1个回答
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 {
    // ...
}

qazxsw poop有一些使用这个API的更复杂的例子。

© www.soinside.com 2019 - 2024. All rights reserved.