我的代码中有一个名为“ length”的整数,我正在尝试从Cloud Firestore中的一个字段更改其值:
int length;
_handlePressed(context) {
DocumentReference postReference = Firestore.instance.collection(ISBN).document(post);
postReference.get().then((datasnapshot){
if(datasnapshot.exists) {
length = datasnapshot.data["length"];
print(length.toString());
}
});
}
“长度”字段以数字类型存储在我的Firestore中。
问题是无法执行print
操作,并且在控制台中打印length
到其他地方显示null
。我想念什么?
答案 0 :(得分:1)
首先,请确保确实调用了_handlePressed
,然后在使用StatefulWidget时使用setState更新状态:
int length;
_handlePressed(context) {
DocumentReference postReference = Firestore.instance.collection(ISBN).document(post);
postReference.get().then((datasnapshot){
if(datasnapshot.exists) {
setState(()
length = datasnapshot.data["length"];
);
print(length.toString());
} }); }