flutter - 脚手架抽屉条件渲染抛出错误
问题描述
我只需要为某些特定设备的纵向模式显示一个 Scaffold 抽屉。我正在使用条件渲染(满足特定设备时 showDrawer 为真)
Scaffold(
key: _scaffoldKey,
drawer: showDrawer ? drawer : null,
body: Text('test')
)
这不会破坏应用程序(它可以工作),但是当我旋转设备时它会给我一个控制台错误
════════ Exception caught by widgets library
The following assertion was thrown while finalizing the widget tree:
setState() or markNeedsBuild() called when widget tree was locked.
This Scaffold widget cannot be marked as needing to build because the framework is locked.
我尝试将条件更改为:
drawer: showDrawer ? drawer : const SizedBox(),
但随后抽屉覆盖显示和隐藏 UI。删除条件会使控制台错误消失。
关于如何解决这个问题的任何想法?
谢谢
解决方案
推荐阅读
- outlook-addin - Outlook Web 加载项获取邮箱文件夹名称
- django - Django 使用模板发送电子邮件
- reactjs - 从一种状态转移到另一种状态时,向状态对象添加附加属性和值。[挂钩]
- deno - Deno:如何允许目录/文件夹的读取权限
- pyspark - Pyspark 高阶 SQL 函数从数组创建直方图?
- r - 为什么有时 R 函数“lm”拟合的系数与 lambda=0 的“glmnet”拟合的系数有很大不同?
- objective-c - Objective-C NSIndexSet / NSArray - 使用标准开发从集合中选择“最佳”索引
- sql - SQL Server:从多个表中选择
- javascript - 没有括号的Javascript调用函数
- java - 多表 JPA 规范