【发布时间】:2021-10-03 15:03:36
【问题描述】:
我似乎无法在不丢失快照的情况下将 QuerySnapshot 从一个类传递到另一个类,因此我试图找到解决方法 (see my post here)。我正在尝试使用 StreamBuilder 再次提取数据。
StreamBuilder (
stream: _db.collection('agency').doc(globals.agencyId).
collection('trxns').doc(globals.currentTrxnId).snapshots(),
builder: (context, trxnSnapshot) { <<<< ERROR 1
if (trxnSnapshot.hasData) {
var outPut = trxnSnapshot.data(); <<<< ERROR 2
clientFNameController.text = trxnSnapshot.data.data['clientFName'] ?? ""; <<<< ERROR 3
}
)
我遇到了一些错误。
-
主体可能正常完成,导致返回“null”,但返回类型可能是不可为空的类型。 我试过添加“?”和 ”!”但它不起作用。
-
在帖子中找到这行代码,但我不知道如何从快照中获取数据。
-
这个错误会在#2修复后修复。
这些应该很容易解决,但我不知道该怎么做。
编辑我尝试添加类型转换,如下所示,但出现新错误。
StreamBuilder<QuerySnapshot> (
stream: _db.collection('agency').doc(globals.agencyId).
collection('trxns').doc(globals.currentTrxnId).snapshots(),
builder: (context, trxnSnapshot) {
if (trxnSnapshot.hasData) {
var outPut = (trxnSnapshot.data() as QueryDocumentSnapshot);
clientFNameController.text = trxnSnapshot.data.data['clientFName'] ?? "";
}
)
【问题讨论】:
标签: flutter stream flutter-streambuilder