問題描述
Flutter 在執行異步等待任務時顯示一個小部件 (Flutter show a widget while an async await task is being executed)
我有以下執行函數的 onTap 事件:
onTap: () async {
await firestoreUserData.updateProfilePicture(url);
})
是否可以在等待執行時顯示某種加載指示器(小部件,如 ProgressIndicator)?我不能使用 futurebuilder,因為這是一個 onTap 事件。
參考解法
方法 1:
Just set the loading state (define it in the class).
onTap: () async {
setState(() { _isLoading = true });//show loader
await firestoreUserData.updateProfilePicture(url);//wait for update
setState(() { _isLoading = false });//hide loader
})
In your build:
Widget build(BuildContext context) {
if(_isLoading)
return Text("Loading");
else
//your stuff here.
}
(by iaminpainpleasehelp1、Jan)