Tauri JS API 对话框和通知模块没有做任何事情,返回 null
Tauri JS API dialog and notification modules not doing anything, returning null
我目前正在通过开发一个小型桌面应用程序来熟悉 tauri 框架。到目前为止,我测试过的大多数 tauri JS API 模块都可以正常工作,dialog
和 notification
模块除外。当 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
字段。
你必须在那里提供一个有效的路径(或者根本不使用它),否则它会默默地失败。
我目前正在通过开发一个小型桌面应用程序来熟悉 tauri 框架。到目前为止,我测试过的大多数 tauri JS API 模块都可以正常工作,dialog
和 notification
模块除外。当 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
字段。
你必须在那里提供一个有效的路径(或者根本不使用它),否则它会默默地失败。