type 'List<dynamic>' is not a subtype of type 'List<Widget>'
The problem here is that type inference fails in an unexpected way. The solution is to provide a type argument to the map
method.
snapshot.data.documents.map<Widget>((document) {
return new ListTile(
title: new Text(document['name']),
subtitle: new Text("Class"),
);
}).toList()
The more complicated answer is that while the type of children
is List<Widget>
, that information doesn't flow back towards the map
invocation. This might be because map
is followed by toList
and because there is no way to type annotate the return of a closure.
You can Cast dynamic List to List With specific Type:
List<'YourModel'>.from(_list.where((i) => i.flag == true));
I have solve my problem by converting Map
to Widget
children: snapshot.map<Widget>((data) =>
_buildListItem(context, data)).toList(),