Flutter方法'openDrawer'在null上被调用。 Navigator.pop(context)或背面小部件

时间:2020-09-22 01:35:55

标签: flutter dart mobile

当我尝试在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(),
    );
  }
}

0 个答案:

没有答案