Microsoft 365

Power Apps の Back 関数にオプションを指定しなかった時の挙動

Power Apps で「ひとつ前の画面に戻る」処理に利用する「Back 関数」ですが、少し面白い挙動があります。

Back 関数は「戻る」動作をさせるオブジェクト(ボタンやラベル、アイコン など)の OnSelect プロパティに設定し、その際、どのような画面効果を発生させるかをオプションで指定します。ただ、指定を省略した場合には Back と対になる Navigate に指定した画面効果が逆転して実行される仕様になっています。

例えば、遷移元となる画面でアイテム選択時の OnSelect プロパティに Navigate(DetailScreen1,ScreenTransition.Cover) を設定して
「右から左へのスライドイン」を実装した場合、遷移した先画面のボタン等から Back (オプション省略)すると、実行時には Cover の逆である CoverRight が発動するわけです。

表で整理すると下図のようになります。Fade と None については「逆」がありませんので、そのままです。各オプションが実際にどのように表示されるかについては、公式の Docs が分かりやすいです(Power Apps の Back および Navigate 関数)。

blog PApps cmd 01

一般的には「オプションを指定しなければ何も効果適用されない」と考えると思うのですが、Back 関数については「指定しないと効果が適用される」仕組みです。正直、私も最初はバグ?指定ミス?かと焦りました。

簡単に試すことができるので、皆さんも是非、私のお驚きを体感してください(笑)