if tree
This commit is contained in:
@@ -12,10 +12,6 @@ pub fn app() -> Element {
|
|||||||
let count = use_state(0);
|
let count = use_state(0);
|
||||||
|
|
||||||
rsx! {
|
rsx! {
|
||||||
if (count == 0) {
|
|
||||||
"ok"
|
|
||||||
}
|
|
||||||
|
|
||||||
"{count}"
|
"{count}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+16
-9
@@ -25,9 +25,23 @@ macro_rules! rsx_inner {
|
|||||||
|
|
||||||
// If statement
|
// If statement
|
||||||
($frame:expr, $event:expr;
|
($frame:expr, $event:expr;
|
||||||
if $(%$s:ident),* ($e:expr) {$($inner:tt)*}
|
if ($e:expr) {$($inner:tt)*}
|
||||||
|
$(else if ($ee:expr) {$($elif_inner:tt)*})*
|
||||||
|
else {$($else_inner:tt)*}
|
||||||
|
$($rest:tt)*) => {
|
||||||
|
if $e {
|
||||||
|
$crate::rsx_inner!($frame, $event; $($inner)*);
|
||||||
|
} $(else if $ee {
|
||||||
|
$crate::rsx_inner!($frame, $event; $($elif_inner)*);
|
||||||
|
})* else {
|
||||||
|
$crate::rsx_inner!($frame, $event; $($else_inner)*);
|
||||||
|
}
|
||||||
|
$crate::rsx_inner!($frame, $event; $($rest)*);
|
||||||
|
};
|
||||||
|
|
||||||
|
($frame:expr, $event:expr;
|
||||||
|
if ($e:expr) {$($inner:tt)*}
|
||||||
$($rest:tt)*) => {
|
$($rest:tt)*) => {
|
||||||
$(let $s = $s.copy_state();)*
|
|
||||||
if $e {
|
if $e {
|
||||||
$crate::rsx_inner!($frame, $event; $($inner)*);
|
$crate::rsx_inner!($frame, $event; $($inner)*);
|
||||||
}
|
}
|
||||||
@@ -62,13 +76,6 @@ macro_rules! rsx_inner {
|
|||||||
$crate::rsx_inner!($frame, $event; $($rest)*);
|
$crate::rsx_inner!($frame, $event; $($rest)*);
|
||||||
};
|
};
|
||||||
|
|
||||||
($frame:expr, $event:expr;
|
|
||||||
$elem:literal
|
|
||||||
$($rest:tt)*) => {
|
|
||||||
$frame.draw(&format!($elem), Area::new())?;
|
|
||||||
$crate::rsx_inner!($frame, $event; $($rest)*);
|
|
||||||
};
|
|
||||||
|
|
||||||
($frame:expr, $event:expr;) => {};
|
($frame:expr, $event:expr;) => {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user