2022-02-04 07:13:35 +00:00
|
|
|
//! Forms
|
2022-01-22 19:53:59 +00:00
|
|
|
//!
|
2022-02-04 07:13:35 +00:00
|
|
|
//! Dioxus forms deviate slightly from html, automatically returning all named inputs
|
2024-02-14 20:33:07 +00:00
|
|
|
//! in the "values" field.
|
2022-01-22 19:53:59 +00:00
|
|
|
|
|
|
|
use dioxus::prelude::*;
|
2024-02-24 01:38:04 +00:00
|
|
|
use std::collections::HashMap;
|
2022-01-22 19:53:59 +00:00
|
|
|
|
|
|
|
fn main() {
|
2024-02-24 01:38:04 +00:00
|
|
|
launch(app);
|
2022-01-22 19:53:59 +00:00
|
|
|
}
|
|
|
|
|
2024-01-14 04:51:37 +00:00
|
|
|
fn app() -> Element {
|
2024-02-24 01:38:04 +00:00
|
|
|
let mut values = use_signal(|| HashMap::new());
|
2024-01-16 19:18:46 +00:00
|
|
|
rsx! {
|
2022-07-09 19:15:20 +00:00
|
|
|
div {
|
|
|
|
h1 { "Form" }
|
|
|
|
form {
|
2024-02-24 01:38:04 +00:00
|
|
|
oninput: move |ev| values.set(ev.values()),
|
|
|
|
input {
|
|
|
|
r#type: "text",
|
|
|
|
name: "username",
|
|
|
|
oninput: move |ev| values.set(ev.values())
|
|
|
|
}
|
2022-07-09 19:15:20 +00:00
|
|
|
input { r#type: "text", name: "full-name" }
|
|
|
|
input { r#type: "password", name: "password" }
|
|
|
|
input { r#type: "radio", name: "color", value: "red" }
|
|
|
|
input { r#type: "radio", name: "color", value: "blue" }
|
|
|
|
button { r#type: "submit", value: "Submit", "Submit the form" }
|
2022-01-22 19:53:59 +00:00
|
|
|
}
|
|
|
|
}
|
2024-02-24 01:38:04 +00:00
|
|
|
div {
|
|
|
|
h1 { "Oninput Values" }
|
|
|
|
"{values:#?}"
|
|
|
|
}
|
2024-01-14 05:12:21 +00:00
|
|
|
}
|
2022-01-22 19:53:59 +00:00
|
|
|
}
|