Tauri JS API 对话框和通知模块没有做任何事情,返回 null

Tauri JS API dialog and notification modules not doing anything, returning null

我目前正在通过开发一个小型桌面应用程序来熟悉 tauri 框架。到目前为止,我测试过的大多数 tauri JS API 模块都可以正常工作,dialognotification 模块除外。当 dialog 模块中的任何函数被测试时,例如 open,promise 立即解析为 null 值,并且 tauri 端没有明显发生(例如,当open 函数被调用,一个文件对话框应该出现)。我根本没有改变生成的 Rust 文件,我在前端使用 VueJS SPA,我已经 运行 在 64 位 Windows 10 环境中。此外,tauri.conf.json 文件为使用这些模块设置了正确的权限。

这是我调用 dialog.open 函数的代码:

import { Options, Vue } from "vue-class-component";
import { open as openDialog } from "@tauri-apps/api/dialog";

@Options({
  components: {
    ... some vue components ...
  },
})
export default class Freeze extends Vue {
  selectedFilepaths: string[] = [];

  async selectFile(){
    const pathName: string = await openDialog({
      defaultPath: ".",
      multiple: false
    }) as string;
    this.selectedFilepaths.push(pathName);
  }
}

任何帮助将不胜感激:)

原来,罪魁祸首是 defaultPath 字段。

你必须在那里提供一个有效的路径(或者根本不使用它),否则它会默默地失败。