我正在try 从FiRestore加载数据,在StreamBuilder的帮助下,我正在获取相应的数据并将其显示给用户.
我将这个值传递给一个名为‘Total’的变量,这个合计值被转换为0,当我试图显示这个合计值时,它首先应该是缺省的(0)值,它从FiRestore中获取值.
下面您可以看到代码
StreamBuilder<DocumentSnapshot>(
stream: FirebaseFirestore.instance.collection('UserData').doc(getUid()).snapshots(),
builder: (context, AsyncSnapshot<DocumentSnapshot> snapshot) {
if (!snapshot.hasData) return const Text("Loading...");
final DocumentSnapshot? document = snapshot.data;
final Map<String, dynamic> documentData = document?.data() as Map<String, dynamic>;
accountList = (documentData['accounts'] as List).map((accountList) => accountList as Map<String, dynamic>).toList();
// getTotalFund(accountList);
List amountData=[];
double convertAmount;
for(int i=0; i<accountList.length;i++){
if(accountList[i]['accountType'] == 'Savings' || accountList[i]['accountType'] == 'Cash' ){
amountData.add(double.parse(accountList[i]['amountBalance'].replaceAll(',','')));
}
}
convertAmount = amountData.reduce((value, element) => value + element);
totalFund = amountFormat.format(convertAmount);
return Text(
documentData['name'],
style: const TextStyle(
fontSize: 16,
fontFamily: "Gilroy SemiBold",
),
);
}),
我在文本小部件中获得的值总金额.
Text('\u{20B9} ', style: TextStyle(color: Color(0xff9c9c9c), fontFamily: "Gilroy Medium", fontSize: 23)),
Text(totalFund.toString(),style: const TextStyle(color: Colors.black, fontFamily: "Gilroy Bold", fontSize: 35)),
如何在initState中加载totalFund,使其不会显示空值.