gpt4 book ai didi

dart - 如何过滤 rxdart 中的可观察列表

转载 作者:IT王子 更新时间:2023-10-29 06:36:59 32 4
gpt4 key购买 nike

我正在尝试在 rxdart 中实现 bloc 模式。我正在尝试构建待办事项应用程序类型的应用程序。我实现了显示列表中的所有项目,但我想要的不是在不同部分显示已完成和未完成的项目。但是,我无法根据在 rxdart 上完成的项目过滤项目。

import 'package:rxdart/rxdart.dart';
import '../models/ShoppingItem.dart';
class ShoppingItemBloc {
final _shoppingItems = BehaviorSubject<List<ShoppingItem>>
(seedValue: []);

Observable<List<ShoppingItem>> get allShoppingItems =>
_shoppingItems.stream;

//Getter to implement
Observable<List<ShoppingItem>> get completedShoppingItems =>

dispose() {
_shoppingItems.close();
}
}

我想要的是获得完成的 shoppingItems 。类 ShoppingItem 有一个 bool 属性 completed 。我想在此基础上对其进行过滤。

如有任何帮助,我们将不胜感激

最佳答案

您可以根据需要使用流中的 where 进行过滤。由于您正在观察项目列表,因此在过滤单个项目之前需要映射。在我们的例子中,它将是这样的。

 Observable<List<ShoppingItem>> get completedShoppingItems => 
_shoppingItems.stream.map((itemList) =>
itemList.where((item) => item.completed));

关于dart - 如何过滤 rxdart 中的可观察列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54500308/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com