flutter - '_InternalLinkedHashMap' 不是类型 'Venue' 的子类型
问题描述
这是我的问题。在屏幕中,我使用Navigator.pushnamed()...
带参数将信息发送到具有详细视图的屏幕。它工作正常!这是代码:
Navigator.pushNamed(context, VenueDetailScreen.id, arguments: snapshot.data[index]);
在 aSearchDelegate
中,我正在尝试在 中做同样的事情buildSuggestions
,但我遇到了错误。这是代码和错误:
results.map<Widget>(
(a) => Container(
margin: EdgeInsets.symmetric(vertical: 10.0),
child: GestureDetector(
onTap: () {
print(a.data);
Navigator.pushNamed(context, VenueDetailScreen.id, arguments: a.data);
},
child: ListTile(
title: Text(
a.data['nombre'].toString(),
),
错误:
type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'Venue'
我会感谢您帮助了解什么是行不通的。谢谢!
解决方案
a.data
是一张地图,您需要通过执行类似的操作将其投射到模型中Venue.fromJson(a.data)
results.map<Widget>(
(a) => Container(
margin: EdgeInsets.symmetric(vertical: 10.0),
child: GestureDetector(
onTap: () {
print(a.data);
Navigator.pushNamed(context, VenueDetailScreen.id, arguments: Venue.fromJson(a.data));
},
child: ListTile(
title: Text(
a.data['nombre'].toString(),
),
推荐阅读
- python - 尝试将 API 抓取到下一页时,for 循环不断重复
- html - 顶层面板左侧的间隙
- r - ggplot2 需要明确提及映射参数
- swift - 精灵套件;如何将 AVPlayer() 嵌入 SKScene?
- cflow - cflow 只显示某些函数的父级
- python - timeit.timeit 以科学计数法返回时间?
- python-3.x - AsyncElasticsearch 客户端不接受与 AWS Elasticsearch 的连接 - AttributeError: 'AWS4Auth' object has no attribute 'encode'
- javafx - JavaFX 属性:fireValueChangedEvent
- reactjs - React Redux 句柄事件成功完成
- logging - Windows 10 IoT UWF 不保留事件查看器日志