gpt4 book ai didi

flutter - flutter 中的快照.数据为空

转载 作者:行者123 更新时间:2023-12-04 12:17:04 26 4
gpt4 key购买 nike

我的 snapshot.data 为空。当我打印响应时,它正在显示检索到的数据。但仍然 snapshot.data 为空。请帮忙。

    Future _getUsers() async {

var data = await http.post("http://10.0.2.2/Flutter/abreport.php", body: {
{
"date": mydt,
});
var jsonData = json.decode(data.body); //edited
print(jsonData); // the data is printing here

return jsonData;
}

}

FutureBuilder(
future: _getUsers(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
debugPrint(snapshot.data);
if (snapshot.data == null) {
return Container(
child: Center(

child:Text("no data"),
)
);
} else {
//some code
}

)

最佳答案

您应该使用 documentation 中给出的格式。为 FutureBuilder .你没有检查 future 的状态,所以当 FutureBuilder第一次建好,会显示"no data" .您还没有实现您的 else分支,因此当您拥有数据时,您的构建可能无论如何都不会刷新。试试这个代码:

FutureBuilder(
future: _getUsers(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
if (snapshot.data == null) {
return Text('no data');
} else {
return Text('data present');
}
} else if (snapshot.connectionState == ConnectionState.error) {
return Text('Error'); // error
} else {
return CircularProgressIndicator(); // loading
}
}
)

关于flutter - flutter 中的快照.数据为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59073164/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com