如何计算FutureBuilder
中的项目列表的总价?我试试这个
FutureBuilder<ProModel>(
future: futurePro,
builder: (context, snapshot){
if(snapshot.hasData){
snapshot.data.pro.forEach((element) {
subTotal = subTotal + int.parse(element.amount);
});
}
}
但subTotal
在连续递增(到无穷大)时i加上Text('$subTotal')
snapshot.data.pro是从json列表
{
"pro":[
{"id":"1", "amount":"1784",}
{"id":"2", "amount":"1643",}
]
}
2条答案
按热度按时间fcg9iug31#
看起来您将
subTotal
存储在周围小部件的某个位置。与任何构建方法一样,构建器回调可以被多次调用,并且每次调用时都会添加到存储值中。
可以尝试将该值存储在一个局部变量中,如下所示:
dsekswqp2#
在您情况下,为以下行:
在这个
element.amount
中,你试图得到一个不存在的amount
属性,这个属性不存在于你的list
的元素中,你得到的是一个List<Map>
,而Map
的amount
键只能像这样调用。因此,在您情况下,请替换为以下内容: