我有一个包含字符串值的流,我想获取该字符串中的最后一个值。最好的方法是什么?
Stream<String> get searchTextStream {
return _searchController.stream.transform(
StreamTransformer<String, String>.fromHandlers(
handleData: (value, sink) {
if (value.isEmpty || value.length < 4) {
sink.addError('please enter some text..');
} else {
sink.add(value);
}
},
),
);
}
答案 0 :(得分:0)
从https://pub.dartlang.org/packages/rxdart处获取rxDart软件包。
import 'package:rxdart/rxdart.dart'; // 1. Import rxDart package.
final _searchController = BehaviorSubject<String>(); // 2. Initiate _searchController as BehaviorSubject in stead of StreamController.
String _lastValue = _searchController.value; // 3. Get the last value in the Stream.
BehaviorSubject是一个Object rxDart包。 它像StreamController一样工作,默认情况下,broadcast()处于打开状态,并且BehaviorSubject具有比StreamController更多的功能。