Files
docs/versioned_docs/version-0.0.7/index.md
T
2024-11-28 22:57:52 +01:00

879 B

title, slug
title slug
Introduction /

On a cargo project run

cargo add osui

Simple app

use osui::prelude::*;

fn main() {
    launch!(app());
}

fn app() -> Element {
    rsx! {
        text { "Hello, World!" }
    }
}

A slightly more advanced app (counter)

use osui::prelude::*;

fn main() {
    launch!(app());
}

fn app() -> Element {
    rsx! {
        // Create a button with a on_click handler
        button { on_click: Handler::new(move |btn: &mut Button, _, document| {
            if let Some(count) = document.get_element_by_id::<DataHolder<u32>>("count") {
                count.data += 1;
                btn.children.set_text(&count.data.to_string());
            }
        }), "0" }

        // Store the data (in this case count)
        data_holder as u32 { id: "count" }
    }
}