Flutter与Dart学习之路之Scafold的坑(一)

在Flutter开发中,遇到在使用Scaffold.of(context).openDrawer()时抛出异常,提示'context中没有Scaffold'。问题源于尝试在Scafold创建过程中使用其context。解决方案包括:1) 使用GlobalKey记录Scaffold状态并在Scaffold构造时传入;2) 创建新的context。本文详细介绍了两种正确示范。
摘要由CSDN通过智能技术生成

遇见的问题

问题描述

  • 在flutter写一个侧边栏的时候,我使用的方式是通过一个按钮中的onPress调用Scafold中的侧边栏,使用的方法是Scaffold.of(context).openDrawer();但是出现了异常,一直显示context中没有这个Scafold,我测试判断了一下传入的context是否为空,检验确实传入了context,最后发现该context是不包含Scafold的。因为此时我正在new出一个Scafold,Scafold还在生成中,context中是不包含该Scafold的,使用的context是父级的build中的context

异常描述

  • Another exception was thrown: Scaffold.of() called with a context that does not contain a Scaffold

错误代码展示(部分)

 child: new IconButton(
            iconSize: 40,
            icon: new Icon(Icons.menu),
            color: Colors.white,
             onPressed: (){
           
             if(context == null){
          print('>>>>>>>>>>>>>>>>>>>>context null');
        }else{
          pr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值