我使用 Svelte 框架构建了一个网页。我希望能够将该应用程序用作网页以及 Windows 和 Mac 上的桌面应用程序。为了实现这一目标,我将其构建为 Tauri 应用程序。
一切都运转良好。该网页在 Windows 和 Mac 上看起来都不错,桌面应用程序也适用于这两种系统。
为了简单起见,我运行一个函数,该函数依次打开 Prompt() 函数来添加名称或重命名文件。这就是我现在遇到的问题。
在网页版和Windows版上,一切运行良好。出现提示,我输入名称,然后单击“确定”。然后名称会更新。
但是,在 Mac 上,不会出现提示,并且收到错误,因为新名称字段为空,而函数的其余部分继续运行。
有没有办法在Mac上的Tauri应用程序中使用prompt(),或者我是否必须构建自己的提示?
要重新创建它,请添加一个运行包含 Prompt() 的函数的按钮。在 Mac 上将其构建为 Tauri 应用程序,运行它,然后单击按钮。
<button on:click={() => prompt()}></button>
Windows 版本会出现该提示,Mac 则不会出现。
alert
中已经有更多原生版本的confirm
和@tauri-apps/api/dialog
,但prompt
目前缺失。
您最好的选择可能是实现您自己的(使用带有
async
/await
的 Promise,因为常规用户交互不能像 window.prompt
那样阻塞)。