替换 Electron 中的 'Prompt'

Replace 'Prompt' in on Electron

如何替换electron中javascriptprompt的功能?

有人可以举个例子吗?

我尝试使用函数 prompt,但出现错误:

Uncaught Error: prompt() is and will not be supported.

promptconfirmalert 是阻止脚本执行线程直到用户输入的函数,这就是电子团队不支持它的原因。出于同样的原因,您可以使用一些第三方包。

这里有一些以异步方式提供此功能的包

https://www.npmjs.com/package/smalltalk

https://www.npmjs.com/package/vex-js

https://www.npmjs.com/package/dialogs

我的回答有点晚了,但也许对其他人还是有帮助的。

由于 Electron 团队不想自己实现 prompt() 行为,我开发了这个解决方案:electron-osx-prompt。 它提供了一种基于 Promise 的方式来获取一些简单的用户输入并适应 macOS 样式。

// From renderer or main process, doesn't matter
const userPrompt = require('electron-osx-prompt');

const icon = __dirname + '/icon.png';

userPrompt('Label text', 'Placeholder text', icon)
  .then(input => {
    console.log(input);
  })
  .catch(err => {
    console.log(err);
  });