【问题标题】:how could I add the elements of a List <dynamic> to a List <Object> using flutter如何使用颤振将 List <dynamic> 的元素添加到 List <Object>
【发布时间】:2021-08-17 15:34:26
【问题描述】:

我尝试将消息中的元素添加到 finalList 的飞镖代码(不工作)

 List<Message> finalList = List();  //list where data should go
if (tmp != null) {
  List<dynamic> messages = tmp["messages"];  //list where data come from
  for (var element in messages) {
    try {
      Message eltMsg = Message.fromMap(element);
      finalList.add(eltMsg);
    } catch (e) {
      print(e);
    }
  }
  finalList.sort((a, b) => b.createdAt.compareTo(a.createdAt));
}

【问题讨论】:

    标签: list flutter dart


    【解决方案1】:

    我假设fromMap 方法接受Map&lt;String, dynamic&gt;,所以如果您确定tmp["messages"] 的内容实际上是一个地图,您可以执行以下操作:

    final messages = List<Map<String, dynamic>>.from(tmp["messages"] as List<dynamic>);
    List<Message> finalList = messages.map((m) => Message.fromMap(m)).toList();
    finalList.sort((a, b) => b.createdAt.compareTo(a.createdAt));
    

    只要您对Message.fromMap 的实现是正确的,这应该会为您提供消息列表。

    【讨论】:

    • 我实际上希望 finalList 接收来自 messages 的所有数据
    • 好吧,如果你的其余代码是正确的,这应该适用于你的循环
    猜你喜欢
    • 1970-01-01
    • 2018-07-17
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 2014-05-13
    • 1970-01-01
    • 2021-01-21
    • 1970-01-01
    相关资源
    最近更新 更多