我想用firestore中的值设置card,没有streambuilder怎么能得到它?
class _CardsSectionState extends State<CardsSectionAlignment>
with SingleTickerProviderStateMixin {
int cardsCounter;
int card = 0;
答案 0 :(得分:0)
要能够为card
设置值,那么您需要使用snapshot()
方法,该方法将返回Stream
并继续监听更新,或者您需要使用get()
将返回Future
。在这两种情况下,操作都是异步的。因此,不使用streambuilder
答案 1 :(得分:0)
您需要在_CardsSectionState的initState方法中执行查询,然后将查询结果中的卡值分配给整数变量卡。
用具有卡值的集合名称替换collectionName。用具有卡值的集合中的字段名称替换'card_value'。
@override
void initState() {
super.initState();
Firestore.instance.collection('collectionName').getDocuments().then((val){
if(val.documents.length > 0){
card = val.documents[0].data["card_value"];
}
else{
print("Not Found");
}
});
}