等待api数据的几毫秒红色屏幕



im使用PageView,然后它包含带有多个调查表单的表单和来自async的表单等待获取api,当我进入几毫秒的红色屏幕等待api数据时,它返回正常的

api获取代码

void getSurveyData() async {
surveyData = await http.post(
'survey-pre-mitsu/form-detail',
body: {
"survey_form_header_id": surveyPages['idx'],
},
).then(
(res) {
return res['data'];
},
);
setState(() {});
}

我的小工具表单代码

for (var i = 0; i < surveyData.length; i++)
AdditionalForm(
questionLabel: surveyData[i]['label'],
questionType: surveyData[i]['type'],
),

使用布尔状态变量,在调用api之前和之后更新它。

class _YourWidgetState extends State<YourWidget> {
bool _loading = false;
@override
Widget build(BuildContext context) {
if (_loading) {
// return your loading view
return CircularProgressIndicator();
}

// or return your normal view
return Container();
}
void getSurveyData() async {
setState(() {
_loading = true;
});

surveyData = await http.post(
'survey-pre-mitsu/form-detail',
body: {
"survey_form_header_id": surveyPages['idx'],
},
);

setState(() {
_loading = false;
});
}

}

最新更新