[英]Making the streambuilder stream: a variable breaks stream builder
我正在嘗試制作一個可以查詢我的 firestore 數據庫並返回結果的搜索欄。
我有一個看起來像這樣的 stream 構建器:
StreamBuilder(
//query to firestore db
stream: streamQuery,
//builds widget for loading and compleation
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {...
引發此錯誤:
無法推斷類型參數“T”。
Tried to infer 'dynamic' for 'T' which doesn't work:
Parameter 'builder' declared as 'Widget Function(BuildContext, AsyncSnapshot<T>)'
but argument is 'Widget Function(BuildContext, AsyncSnapshot<QuerySnapshot<Object?>>)'.
The type 'dynamic' was inferred from:
Parameter 'stream' declared as 'Stream<T>?'
but argument is 'Stream<dynamic>'.
Consider passing explicit type argument(s) to the generic.
奇怪的是,如果我用這個替換stream:
:
db
.collection('GearLockerItems')
.where('itemName', isGreaterThanOrEqualTo: searchKey)
.where('itemName', isLessThan: '${searchKey}z')
.where('communityShare', isEqualTo: true)
.where('reviewed', isEqualTo: true)
.snapshots();
然后它工作。 將該firestore stream 保存到變量中會破壞事情。 作為參考,我正在嘗試關注這個 Stack Overflow 問題:
我必須將StreamBuilder<dynamic>
添加到 Stream Builder:
body: StreamBuilder<dynamic>(
stream: streamQuery,
builder: (BuildContext context, AsyncSnapshot<dynamic> snapshot) {...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.