您好,我需要帮助解决一个有点棘手的问题。我在下面有一组对象。这些对象是我向端点发出的 get http 请求的结果。端点需要一些 Id,这些 Id 也在响应对象中返回,它们是:anchorOid、providerOid 和 StateOid。因此,在此响应之前,用户将选择一个锚点、状态和提供者,然后向端点发出请求并返回用户 Stocks 对象,即下面的对象。因此,无论用户在 http 请求之前选择什么,这些都是将在响应中返回的 ID。所以我的挑战是在得到响应之后,在我遍历整个对象并使用数据表的行和列显示它们之前,如何在迭代整个对象之前只显示锚点状态,只是为了向用户显示这是您选择的锚点和状态,因为锚点和状态在所有对象中都相同,因此源自用户选择。请问怎么办?
_getStocksByProviderIdByAnchorIdBySeasonId() async {
try {
_prefs = await SharedPreferences.getInstance();
var _stockService = StockService();
var result =
await _stockService.getStocksByProviderIdByAnchorIdBySeasonId(
_prefs.getInt('providerOid'),
widget.anchorOid,
widget.seasonOid,
widget.stateOid);
var stocks = await json.decode(result.body);
_stocks = <Stock>[];
stocks.forEach((stock) {
var _stock = Stock();
_stock.oid = stock['oid'];
_stock.date = DateTime.parse(stock['date']);
_stock.anchor = stock['anchor'];
_stock.state = stock['state'];
setState(() {
_stocks.add(_stock);
});
});
print("Stocks");
print(stocks);
setState(() {
data = stocks;
_isLoading = false;
});
} catch (e) {
setState(() {
_isLoading = false;
});
return e.toString();
}
}
我尝试这样做:
stocks[0]['anchor]
but its only picking the first index so how do I make the index dynamic I don't know what to do.
[
{
"oid": 3,
"anchor": "MAIZE ASSOCIATION OF NIGERIA",
"anchorOid": 1,
"date": "2021-07-09T14:37:00.403",
"provider": "ERG Agro Solutions",
"providerOid": 1,
"season": "WET SEASON - 2020",
"seasonOid": 1,
"stateOid": 1,
"state": "Abia",
"stockItems": [],
"totalStockItems": 0
},
{
"oid": 4,
"anchor": "MAIZE ASSOCIATION OF NIGERIA",
"anchorOid": 1,
"date": "2021-08-09T14:39:00.403",
"provider": "ERG Agro Solutions",
"providerOid": 1,
"season": "WET SEASON - 2020",
"seasonOid": 1,
"stateOid": 1,
"state": "Abia",
"stockItems": [],
"totalStockItems": 0
}
]
答案 0 :(得分:0)
你可以像这样在List上尝试first方法,
void main() {
List data = [
{
"oid": 3,
"anchor": "MAIZE ASSOCIATION OF NIGERIA",
"anchorOid": 1,
"date": "2021-07-09T14:37:00.403",
"provider": "ERG Agro Solutions",
"providerOid": 1,
"season": "WET SEASON - 2020",
"seasonOid": 1,
"stateOid": 1,
"state": "Abia",
"stockItems": [],
"totalStockItems": 0
},
{
"oid": 4,
"anchor": "MAIZE ASSOCIATION OF NIGERIA",
"anchorOid": 1,
"date": "2021-08-09T14:39:00.403",
"provider": "ERG Agro Solutions",
"providerOid": 1,
"season": "WET SEASON - 2020",
"seasonOid": 1,
"stateOid": 1,
"state": "Abia",
"stockItems": [],
"totalStockItems": 0
}
];
print(data.first['anchor']);
}
它总是选择数组的第一个元素。