当我尝试在Flutter应用中打开抽屉时,我致电key.currentState.openDrawer();
但是,当我执行navigator.pop(context)
或按“后退”按钮然后致电key.currentState.openDrawer();
时,我得到
错误The method 'openDrawer' was called on null.
请帮助
这里是指向我用来演示此错误的仓库的链接。超级易于运行和入门:https://github.com/brianschardt/flutter_drawer_bug
我在所有屏幕中都包含的基本小部件
class Base extends StatelessWidget {
Base({this.child});
final Widget child;
final NavDrawerService navDrawerService = getIt<NavDrawerService>();
@override
Widget build(BuildContext context) {
navDrawerService.key = new GlobalKey();//create a new key for every new page, save it in singleton service to open drawer from anywhere in the app.
return Scaffold(
body: child,
key: navDrawerService.key,
drawer: NavDrawer(),
);
}
}