“_InternalLinkedHashMap<String, dynamic>”不是类型 'Venue' 的子类型
'_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'Venue'
这是我的问题。在屏幕中,我使用带有参数的 Navigator.pushnamed()...
将信息发送到具有详细视图的屏幕。它工作正常!这是代码:
Navigator.pushNamed(context, VenueDetailScreen.id, arguments: snapshot.data[index]);
在 SearchDelegate
中,我试图在 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(),
),
这是我的问题。在屏幕中,我使用带有参数的 Navigator.pushnamed()...
将信息发送到具有详细视图的屏幕。它工作正常!这是代码:
Navigator.pushNamed(context, VenueDetailScreen.id, arguments: snapshot.data[index]);
在 SearchDelegate
中,我试图在 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(),
),