1回だけ更新可能なOnceCellでフォルダ名をダイアログから取得 rust tauri vue
前回ダイアログを扱ったがフォルダ名をグローバルに書き出す方法がわからなかったので、最近メジャーなOneCellを使った方法で、フォルダ名をグローバルにコピーする方法をチェック。
ただし…、1回だけ更新可能だと使いずらいので別の方法を探す必要あり。
#![cfg_attr(
)]
use tauri::{CustomMenuItem, Menu, MenuItem, Submenu};
use once_cell::sync::OnceCell;
static folder_name: OnceCell<String> = OnceCell::new();
#[tauri::command]
fn open_folder_dialog(){
dialog::FileDialogBuilder::default()
.pick_folder(|path_buf| match path_buf {
Some(p) => {
folder_name.set(p.into_os_string().into_string().unwrap());
println!("選択されたフォルダ: {}", folder_name.get().unwrap());
}
_ => {}
});
}
#[tauri::command]
fn check_folder_name()
{
println!("選択されたフォルダ!!: {}", folder_name.get().unwrap());
}
fn main() {
tauri::Builder::default()
.run(tauri::generate_context!())
.expect("error while running tauri application");
}