Files
docs/versioned_docs/version-0.0.7/index.md
T
2024-11-30 06:38:16 +01:00

931 B

title, slug
title slug
Introduction /

Installation

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: fn(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" }
    }
}