【发布时间】:2020-08-14 03:13:42
【问题描述】:
我是 Flutter 的新手。我需要帮助。 我有服务。我通过从 Ui 传递的字符串搜索数据。
Future<List<MyEntity>> getByString(String s) async {
final CollectionReference _dbs = Firestore.instance.collection(_baseUrl);
QuerySnapshot query =
await _dbs.where("string", isEqualTo: s).getDocuments();
List<MyEntity> products = query.documents
.map((doc) => MyEntity.fromSnapshotJson(doc))
.toList();
return products;
}
我有 bloc。我不知道如何将字符串从 Ui 传递给 sink?
class MyBloc extends BlocBase {
final MyService _productService;
MyBloc(this._productService) {
listEvent.add(await _productService.getByString(// i should pass string from Ui));
}
final BehaviorSubject<List<MyEntity>> _controller =
new BehaviorSubject<List<MovieEntity>>.seeded(List<MyEntity>());
Observable<List<MovieEntity>> get listFlux => _controller.stream;
Sink<List<MovieEntity>> get listEvent => _controller.sink;
@override
void dispose() {
_controller?.close();
super.dispose();
}
}
在 bloc 构造函数中初始化服务是个好主意吗?你能给我同样的建议吗?
【问题讨论】:
标签: firebase flutter google-cloud-firestore bloc