polish the throw trait
This commit is contained in:
1 parent
c18f911429
commit
6141aeb037
8 files changed
+374
-119
No files matched your search
+11
-16
@@ -1,4 +1,4 @@
|
||||
use dioxus::prelude::*;
|
||||
use dioxus::{core::CapturedError, prelude::*};
|
||||
|
||||
fn main() {
|
||||
dioxus_desktop::launch(App);
|
||||
@@ -6,30 +6,25 @@ fn main() {
|
||||
|
||||
#[component]
|
||||
fn App(cx: Scope) -> Element {
|
||||
let val = use_state(cx, || "0.0001");
|
||||
|
||||
let num = match val.parse::<f32>() {
|
||||
Err(_) => return cx.render(rsx!("Parsing failed")),
|
||||
Ok(num) => num,
|
||||
};
|
||||
|
||||
cx.render(rsx! {
|
||||
h1 { "The parsed value is {num}" }
|
||||
button {
|
||||
onclick: move |_| val.set("invalid"),
|
||||
"Set an invalid number"
|
||||
ErrorBoundary {
|
||||
handle_error: |error: CapturedError| rsx! {"Found error {error}"},
|
||||
DemoC {
|
||||
x: 1
|
||||
}
|
||||
}
|
||||
(0..5).map(|i| rsx! {
|
||||
DemoC { x: i }
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
#[component]
|
||||
fn DemoC(cx: Scope, x: i32) -> Element {
|
||||
let result = Err("Error");
|
||||
|
||||
result.throw()?;
|
||||
|
||||
cx.render(rsx! {
|
||||
h1 {
|
||||
"asdasdasdasd {x}"
|
||||
"{x}"
|
||||
}
|
||||
})
|
||||
}
|
||||
Reference in new issue
Block a user