【问题标题】:Remove duplicate widget删除重复的小部件
【发布时间】:2019-08-16 15:44:42
【问题描述】:

My 函数 types() 应该返回一个唯一的 ExpansionTiles 列表。 在飞镖中,结合 .toSet().toList() 在删除 List 中的重复项方面非常有效,我在这里尝试做同样的事情,但我仍在渲染重复项。

在图片中我不希望 NISSAN 出现两次,只作为一个类别出现一次。

types() {
 return snapshot.data.documents.map((doc) { 
   if(doc['car']['registryNumber'] != null && doc['car']['category'] == 
   'car') {
     return ExpansionTile(
       title: new Row(
       children: <Widget>[
         new Text(
          doc['car']['type'].split(' ')[0],
          style: new TextStyle(
           fontSize: 15.0
          ),
         )
       ],
       ),
       children: <Widget>[

       ],
     );
     } else {  
      return new Text('');
   }
  }).toSet().toList();
}

【问题讨论】:

  • 你在 ExpansionTiles 列表中执行 toSet() 但你应该在汽车名称列表中执行此操作
  • 知道了!在将 Widget 返回之前,我将 toSet() 应用于汽车名称列表。现在一切都好!

标签: list dart flutter


【解决方案1】:

不要忘记将唯一的key: 添加到ExpansionTile 以避免任何重复问题!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    相关资源
    最近更新 更多