モバイル画面の状態の維持
モバイルアプリの画面の移動中に画面の状態を維持するにはどのようにすればよいですか?
たとえば、このアプリのホーム画面には、ToDo項目と各項目に関する注記のリストがあります。
検索アイコンをクリックすると[Search]画面にリダイレクトされ、この画面でタイトルや注記の内容によりToDoのリストを検索できます。
他の画面への移動中、[Search]画面のユーザー入力を維持するようにします。
回答
[Back]ボタンを使用した場合は、モバイルアプリの前の画面が自動的に維持されます。
他の画面に移動してから元の画面に戻った後に[Search]画面のフィールドの値を維持するには、以下の手順を実行します。
-
[Data]タブで、Local Storage内にSearchTitleアトリビュートとSearchNotesアトリビュート(いずれもText型)を含むSearchFormDataエンティティを作成し、Idの型をUser Identifierに変更します。
-
[Interface]タブの要素ツリーで、[Search]画面を右クリックして[Fetch Data from Local Storage]を選択し、ソースとしてSearchFormDataエンティティを設定します。結果のGetSearchFormData AggregateをUserIdでフィルタリングします。
-
ウィジェットのプロパティで、Input_SearchTitleに「
GetSearchFormDataByUserId.List.Current.SearchFormData.SearchTitle
」を割り当て、Input_SearchNotesに「GetSearchFormDataByUserId.List.Current.SearchFormData.SearchNotes
」を割り当てます。 -
複数のInputウィジェットを含むSearchFormのプロパティで、新しいonchangeイベントを作成し、ドロップダウンから[(New Client Action)]を選択します。
-
Input_FieldOnChangeのアクションフローで、現在のユーザーIDをそのAggregateレコードのIDの値として割り当てます。
-
[Data]タブから、CreateOrUpdateSearchFormDataクライアントアクションをアクションフローにドラッグし、ソースレコードを「
GetSearchFormDataByUserId.List.Current.SearchFormData
」に設定します。
ユーザーセッションの最後に、SearchDataFormエンティティに格納された一時データを消去します。