メインコンテンツまでスキップ

showLoadingIndicator

showLoadingIndicator

このフォームの領域の上にローディングインジケーターを表示します。

パラメータ

  • timeoutSecondsnumber): 自動的に非表示にするまでのタイムアウト(秒)。0を渡すと既定値の20秒が適用されます

戻り値: なし(void

説明

現在のフォームのcontextKey(フォーム専用のBuildContext)にバインドされたloaderOverlay.show()を直接呼び出します。インジケーターはそのフォームの領域内にのみ表示されます。

警告

参照カウントはありません。 showLoadingIndicatorを複数回呼び出してもカウンターは積み上がらず、hideLoadingIndicatorを1回呼び出すだけで即座に非表示になります。ネストした呼び出しが必要な場合は$app.showLoadingIndicatorを使用してください。

$form$appの詳細比較

区分$form.showLoadingIndicator$app.showLoadingIndicator
表示範囲そのフォームの領域のみアプリ全体(ルートオーバーレイ)
参照カウント❌ なし✅ あり(ネスト呼び出しに対応)
既定のタイムアウト(0を渡した場合)20秒10秒
hideの動作即座に非表示refCountが0になったときのみ非表示
ダイアログ・シートの上への表示フォームの範囲内のみすべてのオーバーレイの上に表示

$formを使う場面

  • 特定のフォーム領域だけが読み込み中であることを示したいとき
  • 他のフォームは通常どおり使用できる必要があるとき
  • ネスト呼び出しのない単純な単発リクエスト

$appを使う場面

  • アプリ全体をブロックする必要があるとき(サインイン、グローバル初期化など)
  • 複数の非同期リクエストがネストする可能性があり、すべて完了するまで非表示にしたくないとき
  • $httpリクエストなど複数の呼び出しがネストし、show/hideの回数を一致させる必要があるとき

Example

// 단순 폼 로딩
$form.showLoadingIndicator(10);

$http.get("/api/data", function(res) {
$form.hideLoadingIndicator();
$log.i("데이터:", res.data);
});

関連

  • $form.hideLoadingIndicator() — フォームのローディングインジケーターを非表示にする
  • $app.showLoadingIndicator(timeoutSeconds) — アプリ全体のローディングインジケーター(参照カウントあり)