flutter - 使用手势检测器,但接收预期类型为“地图”的值',但得到了“空”类型之一
问题描述
地图?search = ModalRoute.of(context)?.settings.arguments as Map; 因为它将接收空值,但通过使用它我得到一个错误。我是颤振的初学者。请任何人帮助我解决这个问题。
***** From home page******
GestureDetector(
onTap: () {
Navigator.pushNamed(context, "/loading",arguments: {
"searchText": searchController.text,
});
*******from loading page*********
Map? info = ModalRoute.of(context)!.settings.arguments as Map?;
Map? search = ModalRoute.of(context)?.settings.arguments as Map;
city=search['searchText'];
if(search?.isEmpty??true)
{
city=search['searchText'];
}
解决方案
Map? search = ModalRoute.of(context)?.settings.arguments as Map;
那条线应该是
Map? search = ModalRoute.of(context)?.settings.arguments as Map?;
请注意?
最后的...它可能为空,但您试图将其转换为非空。
推荐阅读
- r - R ggplot 无法设置对数轴限制
- node.js - 即使在 npm clean cache --force、unlink、rm -rf node_modules 等之后,npm 链接也会继续拉旧版本
- python - Asyncio & Discord.py - 如何在 True 时停止正在运行的命令?
- mediawiki - 如何在模板参数中传递管道
- javascript - How to embed a webpack bundled react app to another site
- javascript - 具有“严格动态”的外部脚本哈希需要脚本标签上的“完整性”属性?
- reactjs - 使用更少的文本传递道具
- python - 空间复杂性——重新分配和返回参数,而不是创建新变量来返回
- teradata - Teradata:我需要检查表中的行数,如果计数大于 1,我需要运行更新查询
- python - 抓取由搜索/身份验证生成的页面