如何在Dart中访问地图字段

时间:2019-07-15 17:48:51

标签: flutter dart

我将以下列表存储在变量中:

button1.addActionListener(new ActionListener()
{
    public void actionPerformed(ActionEvent e)
    {

        frame1.setVisible(false);
                frame2.setVisible(true);
                Utilities.updateToDB("clicked button1");    
            }
        });

我想更新函数中的widget.item.comments = [{comment: comment text, username: username, commentID: 1}]; 字段。

我尝试了以下操作,并且我知道comment是正确的:

id

但是,我收到以下错误:

final comment = widget.item.comments.firstWhere((item) => item.commentID == id);

1 个答案:

答案 0 :(得分:3)

这里的问题是,无法像JavaScript映射那样访问Dart映射,即,没有将映射字段添加为对象的getter或属性。

相反,Map overrides operators。这意味着您将要使用方括号访问地图字段:

final commentID = item['commentID'];

// Applying this to your example:
final comment = widget.item.comments.firstWhere((item) => item['commentID'] == id);