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

openBackgroundForm

Description

バックグラウンドフォームをオーバーレイとして読み込み、表示します。

バックグラウンドフォームは、通常のページ遷移なしに画面の上にオーバーレイとして表示されるフォームで、アプリの実行中はメモリに保持されます。同じformPathで再度呼び出すと、新しく読み込まずに既存のフォームを再表示します。

Parameters

パラメーター説明
formPathString開くフォームのパス(例: "group/myForm"
linkArgdynamicフォームに渡す初期引数。不要な場合は""またはnull
callbackJSFunction?フォームが閉じるときにresult値を受け取るコールバック関数。不要な場合はnull

Returns

void

Notes

  • すでに読み込まれたフォームを再度開くと、再読み込みせずに表示するだけです(showBackgroundFormと同じ効果)。
  • バックグラウンドフォームは閉じるまでメモリに保持されます。完全に削除するにはcloseBackgroundForm()を呼び出してください。
  • フォームを非表示にするだけの場合はhideBackgroundForm()を使用してください。
  • ⚠️ バックグラウンドフォームの内部では**$form.close()****は動作しません。**バックグラウンドフォームはNavigatorスタックではなくOverlayで管理されるためです。フォームの内部から閉じるには、自身のパスを直接指定して$app.closeBackgroundForm()を呼び出す必要があります。
// バックグラウンドフォームの内部から自分自身を閉じる
$app.closeBackgroundForm("alarm/watcher", { ok: true });

Example

// アラーム監視フォームをバックグラウンドで開く
$app.openBackgroundForm("alarm/watcher", null, function(result) {
$log.i("폼 종료 결과:", result);
});

// 初期引数を渡す
$app.openBackgroundForm("group/myForm", { userId: 123 }, function(result) {
if (result.ok) {
$log.i("처리 완료");
}
});
  • $app.hideBackgroundForm(formPath) — UIを非表示(メモリは保持)
  • $app.showBackgroundForm(formPath) — 非表示のフォームを再表示
  • $app.closeBackgroundForm(formPath, result) — フォームの終了とメモリ解放
  • $app.isBackgroundFormLoaded(formPath) — 読み込み済みかどうかを確認
  • $app.postMessageToBackgroundForm(formPath, name, data) — フォームにメッセージを送信