From 7cf3d3c0b1567cad9bea5e38a45b643b30718d95 Mon Sep 17 00:00:00 2001 From: Hasan El-Hefnawy Date: Sun, 11 Sep 2022 14:15:09 +0200 Subject: [PATCH] fix issue SideMenu doesn't show when navigation back and forth --- lib/src/side_menu.dart | 8 ++++++++ lib/src/side_menu_item.dart | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/src/side_menu.dart b/lib/src/side_menu.dart index 6c926f8..e1ca6c8 100644 --- a/lib/src/side_menu.dart +++ b/lib/src/side_menu.dart @@ -68,6 +68,7 @@ class _SideMenuState extends State { late bool showToggle; late bool alwaysShowFooter; late int collapseWidth; + late SideMenuDisplayMode _mode; @override void initState() { @@ -93,6 +94,7 @@ class _SideMenuState extends State { /// Set [SideMenu] width according to displayMode and notify parent widget double _widthSize(SideMenuDisplayMode mode, BuildContext context) { + _mode = mode; if (mode == SideMenuDisplayMode.auto) { if (MediaQuery.of(context).size.width > collapseWidth && Global.displayModeState.value != SideMenuDisplayMode.open) { @@ -223,4 +225,10 @@ class _SideMenuState extends State { ), ); } + + @override + void dispose() { + super.dispose(); + Global.displayModeState.change(_mode); + } } diff --git a/lib/src/side_menu_item.dart b/lib/src/side_menu_item.dart index 993d243..fb41202 100644 --- a/lib/src/side_menu_item.dart +++ b/lib/src/side_menu_item.dart @@ -94,7 +94,9 @@ class _SideMenuItemState extends State { } void update() { - setState(() {}); + if (mounted) { + setState(() {}); + } } @override