我无法让Firestore查找具有文档ID的项目并从这些文档中获取字段以更新本地变量。
我正在尝试将QR码用于图书馆结帐系统应用程序。我正在尝试在Firestore中搜索数据库中的项目,然后在UI上显示它们。 “代码”是原始QR代码,可以是库成员或项目。我首先检查它是否是成员,如果不是,请检查它是否是数据库中的一个项目。我的代码似乎没有更新要更新的UI的dataList或dataNameList。我的调试打印语句仅显示“ 1”。
LiveBarcodeScanner(
onBarcode: (code) {
//print(code);
if (dataSet.contains(code) == false) {
dataSet.add(code);
print('1');
Firestore.instance.collection('Objects').document(widget.userID).collection('Members').document(code).snapshots().listen((snapshot) => (){
print('2');
if(snapshot.exists){
currentMemberName = snapshot.data['firstName'] + ' ' + snapshot.data['lastName'];
currentMemberID = code;
print('3');
}
else{
print('4');
Firestore.instance.collection('Objects').document(widget.userID).collection('Items').where('ItemID', isEqualTo: code).snapshots().listen((snapshot) => (){
print('5');
if(snapshot.documents.isNotEmpty) {
setState(() {
print('6');
dataList.add(code);
dataNameList.add(snapshot.documents[0]['Name']);
player.play(alarmAudioPath);
});
}
else{
print('No documents with that id found!');
}
});
}
});
//Create widgets for scanned items
//debugPrint(dataWidget.toString());
}
return true;
}