closeDrawerStack method
void
closeDrawerStack()
关闭抽屉(仅抽屉路由栈可用)
手动关闭抽屉,通常在自动关闭被禁用时使用
示例:
final drawerRouter = RouterProxy.getDrawerInstance(stackId: 'main-drawer');
drawerRouter.closeDrawerStack();
Implementation
void closeDrawerStack() {
if (!isDrawerStack) {
debugPrint('Warning: closeDrawerStack() should only be called on drawer stack');
return;
}
if (_drawerContext == null) {
debugPrint('Warning: Drawer context not bound. Call bindDrawerContext() first.');
return;
}
try {
if (_drawerConfig!.isEndDrawer) {
if (Scaffold.of(_drawerContext!).isEndDrawerOpen) {
Scaffold.of(_drawerContext!).closeEndDrawer();
}
} else {
if (Scaffold.of(_drawerContext!).isDrawerOpen) {
Scaffold.of(_drawerContext!).closeDrawer();
}
}
} catch (e) {
debugPrint('Error closing drawer: $e');
}
}