From 0f499a67a91b20550a9ac7fb274d58b25436bfab Mon Sep 17 00:00:00 2001 From: luoxiaozero <48741584+luoxiaozero@users.noreply.github.com> Date: Tue, 27 Feb 2024 19:53:36 +0800 Subject: [PATCH] fix: Drawer cannot be closed when the placement is changed (#123) --- thaw/src/drawer/mod.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/thaw/src/drawer/mod.rs b/thaw/src/drawer/mod.rs index 0b0ae98..01e5abc 100644 --- a/thaw/src/drawer/mod.rs +++ b/thaw/src/drawer/mod.rs @@ -41,11 +41,16 @@ pub fn Drawer( let drawer_ref = NodeRef::::new(); let is_css_transition = RwSignal::new(false); - let placement = Memo::new(move |_| { + let placement = Memo::new(move |prev| { + let placement = placement.get().as_str(); + let Some(prev) = prev else { + return placement; + }; + if is_css_transition.get() { - placement.get_untracked().as_str() + prev } else { - placement.get_untracked().as_str() + placement } }); let on_after_enter = move |_| {