Как отфильтровать список наблюдаемых в rxdart - PullRequest
0 голосов
/ 03 февраля 2019

Я пытаюсь реализовать шаблон блока в rxdart.Я пытаюсь создать приложение типа задач.Я реализовал отображение всех элементов в списке, но мне не нужно показывать завершенные и незавершенные элементы в другой части.Однако я не могу отфильтровать элементы на основе выполненных в 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();
 }
}

Я хотел получить завершенные элементы ShoppingItem.У класса ShoppingItem завершено логическое свойство.Я хотел отфильтровать это на этой основе.

Любая помощь будет признательна, спасибо

1 Ответ

0 голосов
/ 03 февраля 2019

вы можете использовать, где в потоке, чтобы отфильтровать в соответствии с вашими потребностями.Так как вы наблюдаете список предметов, вам необходимо сопоставить их перед фильтрацией отдельных предметов.В нашем случае это было бы что-то вроде этого.

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