![](/img/trans.png)
[英]i am trying to get data from Database and it returns me this Future<List<dynamic>> how can i iterate this
[英]I am trying to create a list view with the data that I got from API
class Search extends StatefulWidget {
int id;
Search([this.id]);
@override
_SearchState createState() => new _SearchState();
}
class _SearchState extends State<Search> {
@override
void initState() {
super.initState();
}
void dispose() {
super.dispose();
}
@override
Widget build(BuildContext context) {
widget.id;
return new Scaffold(
appBar: new AppBar(
actions: <Widget>[
new IconButton(
icon: new Icon(Icons.exit_to_app),
onPressed: _getTicketDetails
),
],
centerTitle: true,
title: new Text
("TicketsDetails", style: const TextStyle(
fontFamily: 'Poppins'
,),
),
),
);
}
_getTicketDetails() async {
print(widget.id);
var userDetails = {};
final response = await http.get(
"https....", headers: {
HttpHeaders.AUTHORIZATION: access_token
});
List returnTicketDetails = json.decode(response.body);
print(returnTicketDetails);
for (var i = 0; i < (returnTicketDetails?.length ?? 0); i++) {
final ticketresponse = await http.get(
"https:...
.toString()}", headers: {
HttpHeaders.AUTHORIZATION:
access_token
});
userDetails[returnTicketDetails[i]["user_id"]] =
json.decode(ticketresponse.body);
}
print(userDetails);
}
}
我想在Listview中顯示我的userDeatails的索引,但是由於某些原因,編譯器無法識別userDetails,因此將其突出顯示為錯誤。 我之前已經做過,但是我不明白為什么現在遇到這個問題。
在我運行時,它僅顯示appBar
如注釋中所述,您的userDetails
變量的作用域位於_getTicketDetails
方法內。 如果您希望它對您的其余部分可見,則需要在該方法之外聲明它:
var userDetails = {}; // Moved outside
_getTicketDetails() async {
...
}
但是請注意,在修改此變量時也應該調用setState
,以便Flutter知道此小部件已更改,需要重新構建/呈現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.