我在下面一行中的“snap.snapshot.value”参数上有一个错误“var map = Map〈String,dynamic〉.from(snap.snapshot.value);“。错误为“无法将参数类型”Object?“赋给参数类型”Map〈dynamic,dynamic〉“。“
class _HomePageState extends State<HomePage> {
List<Posts> postsList = [];
@override
void initState() {
super.initState();
DatabaseReference postsRef = FirebaseDatabase.instance.reference().child("Posts");
postsRef.once().then((snap) {
var map = Map<String, dynamic>.from(snap.snapshot.value); <--- the error is here
postsList.clear();
map.forEach((key, value) {
var values = Map<String,dynamic>.from(map);
Posts posts = Posts
(
values['url'],
values['descrizione'],
values['data'],
values['ora']
);
postsList.add(posts);
});
3条答案
按热度按时间yzuktlbb1#
你会改变一个代码像下面?
从
至
mqxuamgl2#
这是因为Map.from函数接受了一个Map〈dynamic,dynamic〉,但是你传递的是
object
,所以要传递相同的值,请使用如下的类型转换:a14dhokn3#
在你的帖子模型中,你需要移除任何显式的对象转换。例如,从
到
因此它被强制转换为List,不再进一步