【发布时间】:2020-05-04 15:57:27
【问题描述】:
我有 3 个 int 变量,我想在 initstate 期间通过 void 函数进行更新。我尝试将它们打印出来,值是正确的,但是当我尝试在容器中显示它们时,它仍然显示 0。
int equipmentCount1 = 0;
int equipmentCount2 = 0;
int equipmentCount3 = 0;
@override
void initState() {
getEquipmentCount('Hammer', equipmentCount1);
getEquipmentCount('Spanner', equipmentCount2);
getEquipmentCount('Screwdriver', equipmentCount3);
super.initState();
}
void getEquipmentCount(String type, int counter) async {
await Firestore.instance
.collection('Notes')
.document('CarNotes')
.collection('PM Overview')
.document(type)
.collection(type)
.getDocuments()
.then((QuerySnapshot snapshot) {
setState(() {
return counter = snapshot.documents.length;
});
});
print(counter);
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(equipmentCount1),
Text(equipmentCount2),
Text(equipmentCount3),
【问题讨论】:
标签: firebase flutter dart google-cloud-firestore