openDrawerStack method
void
openDrawerStack()
打开抽屉(仅抽屉路由栈可用)
手动打开抽屉,通常在自动打开被禁用时使用
示例:
final drawerRouter = RouterProxy.getDrawerInstance(stackId: 'main-drawer');
drawerRouter.openDrawerStack();
Implementation
void openDrawerStack() {
if (!isDrawerStack) {
debugPrint('Warning: openDrawerStack() 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!).openEndDrawer();
}
} else {
if (!Scaffold.of(_drawerContext!).isDrawerOpen) {
Scaffold.of(_drawerContext!).openDrawer();
}
}
} catch (e) {
debugPrint('Error opening drawer: $e');
}
}