我似乎无法在不丢失快照的情况下将 QuerySnapshot 从一个类传递到另一个类,因此我试图找到解决方法(请参阅我的帖子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'] ?? "";
}
)