Flutter 在執行異步等待任務時顯示一個小部件 (Flutter show a widget while an async await task is being executed)


問題描述

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 iaminpainpleasehelp1Jan)

參考文件

  1. Flutter show a widget while an async await task is being executed (CC BY‑SA 2.5/3.0/4.0)

#Flutter






相關問題

Flutter:構建 APK 時如何傳遞 Gradle 參數? (Flutter: how do I pass Gradle params when building an APK?)

自行更新的 Flutter 模型 (Flutter model that updates itself)

在 Flutter for Web 應用程序中嵌入網頁作為 Widget(類似於 iframe) (Embed a web page as a Widget inside Flutter for Web application (similar to iframe))

顫振無線電值在步進器中沒有改變 (Flutter Radio Value not Changing in Stepper)

Flutter - 使用收到的每條消息通知的實時消息應用程序的最佳方式? (Flutter - Best way to do real-time messaging app with notifications per received message?)

Flutter 在執行異步等待任務時顯示一個小部件 (Flutter show a widget while an async await task is being executed)

嘗試在 Flutter 中訪問 Hive 數據庫時,“聯繫人”框已打開且類型為 Box<Contact> (The box "contacts" is already open and of type Box<Contact> when trying to access Hive database in flutter)

如何在 Flutter MultiImagePicker 中指定照片的質量? (How can i specify the quality of the photo in Flutter MultiImagePicker?)

Swift pod 還不能集成為靜態庫 (Swift pods cannot yet be integrated as static libraries)

為什麼我可以通過 android 模擬器運行一個簡單的計數器應用程序,但不能通過 ios 模擬器運行? (Why can I run a simple counter application through an android simulator but not through an ios simulator?)

DropdownButtonFormField 不顯示選擇顫振的值 (DropdownButtonFormField dosn't show the value that selected flutter)

如何在 Flutter 中獲得手動相機對焦 (How to get manual camera focus in Flutter)







留言討論