繁体   English   中英

Null 检查运算符用于 null 值 - flutter

[英]Null Check Operator used on null value - flutter

我正在 flutter 中创建一个抽屉,但是每当我单击菜单打开它时,我都会得到一个 Null 检查运算符,用于 null 值错误。 有什么问题?

        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,
          ),
          

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

您应该首先检查 null 是否有脚手架Key:

onPressed: () {
    if (scaffoldKey.currentState != null) {
          scaffoldKey.currentState.openDrawer();
    }
},

并确保您也将密钥传递给脚手架,如下所示:

Scaffold(
  key: scaffoldKey,
  ...
)

您应该将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,
    ),
  ),

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM