我在Ffltter中创建了一个抽屉,但每当我单击菜单打开它时,我都会得到一个用于空值错误的Null Check操作符.会出什么问题呢?

        final scaffoldKey = GlobalKey<ScaffoldState>(); // the scaffoldKay variable


         AppBar(
          leading: IconButton(
            onPressed: () {
              scaffoldKey.currentState!.openDrawer(); // Error Here
            },
            icon: Icon(
              Icons.menu,
            ),
          ),
          title: Text(
            'Title Here',
            
            align: TextAlign.center,
            family: 'Poppins',
            style: FontStyle.normal,
            shadow: 0,
          ),
          

我读过其他有类似问题的文章,但这似乎是独一无二的.

推荐答案

您应该将scaffoldKey赋给Scaffold小部件的属性key.事情会是这样的:

return Scaffold(
  key: scaffoldKey,     // <- Here
  appBar: AppBar(
    leading: IconButton(
      onPressed: () {
        scaffoldKey.currentState!.openDrawer();
      },
      icon: Icon(
        Icons.menu,
      ),
    ),
    title: Text(
      'Title Here',
      align: TextAlign.center,
      family: 'Poppins',
      style: FontStyle.normal,
      shadow: 0,
    ),
  ),

Dart相关问答推荐

使用 2 个类型参数声明类型StateNotifierProvider,但给出了 1 个类型参数

当 ng-repeat 嵌套在 AngularDart 中时访问外部 $index

NetworkImage 正在缓存旧图像

有没有办法在用户停止输入后发送请求?

从 Future 实例中获取值

如何将指针事件发送到堆栈中的低级子级

在 Flutter 中将图像与左上角对齐

了解Dart private class

如何提取dart/Flutter视频元数据

Firebase 手机身份验证Flutter crash崩溃

如何为 macos 桌面应用启用 Flutter 上网权限?

为什么 Angular 在组件名称中不需要破折号

如何在 Dart 中创建我们自己的metadata元数据?

Dart 中的抽象基类

如何在 Dart 中从外部查询 shadow DOM 中的元素?

Dart: 必须取消 Stream 订阅并关闭 StreamSinks 吗?

如何使异步 Dart 调用同步?

如何在 Dart 中扁平化map列表?

GWT 与 Dart - 主要区别是什么? Dart 是 GWT 的潜在替代品吗?

你需要在 Dart 中使用new关键字吗?