【发布时间】:2020-08-01 00:35:20
【问题描述】:
我正在使用 Flutter。我只需要从 Firestore 获取一个值并为所有用户更新它。所以我使用listen 来保持值更新。我在一个变量中接收到值,但我不能在 listen 方法之外使用它。
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class PaginaGraficos extends StatefulWidget {
@override
_PaginaGraficosState createState() => _PaginaGraficosState();
}
class _PaginaGraficosState extends State<PaginaGraficos> {
@override
Widget build(BuildContext context) {
String _totalGeradoApp = "0";
_getTotalGeradoApp () {
Firestore.instance.collection("dados_app").snapshots().listen(
( snapshot ){
var totalGeradoApp;
for( DocumentSnapshot item in snapshot.documents ){
var dados = item.data;
totalGeradoApp = dados["total_gerado_app"];
print("totalGeradoApp: $totalGeradoApp");
}
_totalGeradoApp = totalGeradoApp;
}
);
}
_getTotalGeradoApp();
print("_totalGeradoApp: $_totalGeradoApp");
return Container(
child: Text("$_totalGeradoApp"),
);
}
}
有些名字是葡萄牙语,因为我是巴西人,但代码仍然可以理解。 我是 Dart 的新手,所以如果我在做一些愚蠢的事情,请告诉我。
【问题讨论】:
标签: flutter dart google-cloud-firestore