tauri-use

Crates.iotauri-use
lib.rstauri-use
version0.2.2
created_at2025-04-18 03:19:11.589993+00
updated_at2025-06-23 04:48:41.829167+00
descriptionInterop tauri api for leptos
homepagehttps://github.com/jcskey/tauri-use
repositoryhttps://github.com/jcskey/tauri-use
max_upload_size
id1638780
size41,871
Jcskey (Jcskey)

documentation

README

Tauri use

Inspired by leptos-use, designed for working with Tauri's native APIs..


Usage

  1. Invoke Function
use leptos::prelude::*;
use tauri_use::{use_invoke_with_args, UseTauriWithReturn};

#[component]
pub fn Demo() -> impl IntoView {
    let UseTauriWithReturn { 
        data: created_demo_data,
        trigger: create_demo ,
        ..
    } = use_invoke_with_args::<DemoModelWrapper, Demo>("create_demo");

    let on_create = move |_| {
        // some invalid code
        // ...
        // ...
        create_demo.set(Some(DemoModelWrapper::new(...)));
    }

    view! {
        ...
        <button on:click=on_create>create</botton>
        ...
    }
}
  1. Listen Function
use leptos::prelude::*;
use tauri_use::{use_listen, UseListenReturn, EventType};

#[component]
pub fn Demo() -> impl IntoView {
    let UseListenReturn {
        data: demo_status,
        open,
        close,
        ..
    } = use_listen::<Vec<DemoStatus>>(EventType::Custom("app://demo_status"));

    let on_open = move |_| {
        open()
    };

    let on_close = move |_| {
        close()
    }

    view! {
        ...
        <button on:click=on_close>close</button>
        <button on:click=on_open>open</button>
        ...
    }
}
Commit count: 8

cargo fmt