我的应用程序中有多个窗口小部件组件,每个组件需要来自服务器的不同数据。在组件的initState上,我获取它所需的数据。
当应用打开时,我从服务器获取要显示的组件。示例:仅显示组件1和3。如何等待1和3加载而不首先显示它们(仅显示一个加载器),当两个加载完成时,我将显示它们还是显示错误页面?
答案 0 :(得分:0)
您可以使用三元数来验证数据是否准备就绪,否则,您可以仅显示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...
],
),
);
}
}