【发布时间】:2022-01-26 15:48:45
【问题描述】:
下面的代码给出了子类型的错误
代码
StreamBuilder(
stream: _database.orderByKey().onValue,
builder: (context, snapshot) {
final valudisp = <Card>[];
if (snapshot.hasData) {
final firstdata = snapshot.data! as Map<String, dynamic>;
firstdata.forEach((key, value) {
final datalast = new Map<String, dynamic>.from(value);
final coinname = datalast.keys;
final displaycard = Card(...);
valudisp.add(displaycard);
});
}
return Expanded(...);
});
}
现在我遇到了错误
type 'DatabaseEvent' is not a subtype of type 'Map<String,dynamic>' in typecast
【问题讨论】:
-
错误信息是什么?
-
错误:没有为类型 'Event' 定义 getter 'snapshot'。
-
第二个快照有错误。我的数据库就像附加图片一样。
-
试试
final firstdata = snapshot.data! as Map<String, dynamic> -
它可以工作,但现在我在应用类型“DatabaseEvent”不是类型转换中的“Map
”类型的子类型上遇到错误
标签: flutter dart firebase-realtime-database flutter-streambuilder dart-stream