ash*_*del 3 reactive-programming dart flutter rxdart bloc
我正在尝试在rxdart中实现bloc模式。我正在尝试构建app的todo app类型。我实现了显示列表中的所有项目,但是我不希望不在不同部分显示已完成和未完成的项目。但是我无法基于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();
}
}
Run Code Online (Sandbox Code Playgroud)
我想要的是获取完整的shoppingItems。ShoppingItem类的布尔属性已完成。我想在此基础上对其进行过滤。
任何帮助将不胜感激
您可以根据需要使用流中的何处过滤掉。由于您正在观察项目列表,因此需要在过滤单个项目之前进行映射。在我们的情况下,将是这样。
Observable<List<ShoppingItem>> get completedShoppingItems =>
_shoppingItems.stream.map((itemList) =>
itemList.where((item) => item.completed));
Run Code Online (Sandbox Code Playgroud)