【问题标题】:How can I go back to my original list after filtering ListView in Flutter?在 Flutter 中过滤 ListView 后如何回到原来的列表?
【发布时间】:2021-10-07 14:44:00
【问题描述】:

我正在根据城市地址过滤房屋。我首先使用下拉过滤器显示所有房屋,当我选择特定城市(例如伦敦)时,它会从“HouseList”中过滤位于伦敦的房屋,但如果我选择巴黎,它将尝试过滤位于伦敦的房屋从位于伦敦的 Houses 在巴黎。那么我怎样才能在每个过滤器之后回到原来的 HouseList 。 我正在使用这条线

houselist = newhouselist.where((u) => (u.address.contains(city))).toList();

【问题讨论】:

    标签: flutter flutter-listview


    【解决方案1】:

    您应该保留一份列表副本,并添加类似这样的内容以获得列表的过滤副本:

    void main() {
      final a = A();
      print(a.l);
      print(a.list);
    }
    
    class A {
      List<int> list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
    
      List<int> get l => [...list.where((i) => i > 5)];
    }
    

    【讨论】:

    • 那会解决,但是如果我使用 10 个不同的城市,我必须制作 10 个不同的副本?
    猜你喜欢
    • 2021-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多