Flutter 如何在Dart中访问地图字段
我将以下列表存储在变量中:Flutter 如何在Dart中访问地图字段,flutter,dart,Flutter,Dart,我将以下列表存储在变量中: widget.item.comments=[{comment:comment text,username:username,commentID:1}]; 我想更新函数中的注释字段 我尝试了以下操作,我知道id是正确的: final comment=widget.item.comments.firstWhere((item)=>item.commentID==id); 但是,我收到以下错误: Class '_InternalLinkedHashMap<Stri
widget.item.comments=[{comment:comment text,username:username,commentID:1}];
我想更新函数中的注释
字段
我尝试了以下操作,我知道id
是正确的:
final comment=widget.item.comments.firstWhere((item)=>item.commentID==id);
但是,我收到以下错误:
Class '_InternalLinkedHashMap<String, dynamic>' has no instance getter 'commentID'.
类“\u InternalLinkedHashMap”没有实例获取程序“commentID”。
这里的问题是Dart映射不像JavaScript映射那样被访问,也就是说,映射字段没有作为对象的getter或属性添加
相反。这意味着您需要使用方括号访问地图字段:
final commentID=item['commentID'];
//将此应用于您的示例:
final comment=widget.item.comments.firstWhere((item)=>item['commentID']==id);
谢谢!这确实奏效了。如果可能的话,我会在几分钟内接受答案:)。