我的应用程序中有多个小部件组件,每个组件都需要来自服务器的不同数据。在组件的initState上,我获取它所需的数据。
当应用程序打开时,我从服务器获取要显示的组件。示例:只显示组件1和3。我如何等待加载1和3而不显示它们(只显示加载程序),当这两个组件都加载完成后,我会显示它们或显示错误页面吗?
发布于 2018-12-03 22:18:17
您可以使用一个三元组来验证数据是否就绪,如果没有,您可以只显示一个CircleProgressIndicator
,如下所示:
class _LoadingComponentsState extends State<LoadingComponents> {
bool waiting = true;
loadingAsyncTask() async {
//.. your logic
setState(() {
waiting = false;
});
}
@override
void initState() {
loadingAsyncTask();
super.initState();
}
@override
Widget build(BuildContext context) {
return Container(
child: waiting
? Center(
child: CircularProgressIndicator(),
)
: ListView(
children: [
//your data...
],
),
);
}
}
https://stackoverflow.com/questions/53595616
复制相似问题