はじめに
Power Apps でアプリを作る際、例えば、データを削除したい際などに確認のポップアップを出したいという要望をいただくことがよくありました。
しかし、残念ながら、標準のコントロールにはポップアップがなく、以下の記事で紹介したような方法で、いくつかのコントロールを組みわせて自作する必要がありました。そのため、実現手段はありますが、正直、少し面倒に感じることもありました。
今回、新しい「Confirm」関数により、ポップアップの作成が大幅に楽になりました。こちらについて簡単に紹介します。
※コントロールではなく、関数によるアプローチでした
Confirm 関数
まず、利用するためにモダンコントロールをオンにします。
また、作成バージョンを最新にします。
※いずれは不要になると思います
サクッと試してみます。ボタンの[OnSelect]に以下のような処理を書いてみます。
If(
Confirm(
"確認ポップアップ",
{
Title: "どちらかのボタンを押してください",
ConfirmButton: "送信",
CancelButton: "キャンセル"
}
),
Notify(
"確認ボタンが押されました",
NotificationType.Success
),
Notify(
"キャンセルボタンが押されました",
NotificationType.Information
)
)
実行してみるとこのような確認ポップアップが表示されます。
送信ボタンを押してみます。
中身を解説していきます。まず、ポップアップを出すということは何か確認を求めるケースが多いと思います。そのため、Confirm 関数は、どちらのボタンを押したか、ブール値、つまり、true か false を返します。そのため、If 文を使って、どちらのボタンが押されたかを判定して、それぞれのボタンが押された際の処理を記載することができます。
※ConfirmButton が押された際は true、CancelButton が押された際は false が返されるようです
Confirm 関数自体の使い方は、メッセージと、オプションレコードが必要なようです。
一応、以下のように、メッセージだけでもいけますが、この場合は、メッセージとローカライズされたボタンが表示されます。そのため、多くのケースでは、オプションレコードまで指定することになると思います。
オプションレコードは、上記 4 つを以下の形式で指定します。
{
Title: "確認ポップアップです",
Subtitle: "どちらかのボタンを押してください",
ConfirmButton: "送信",
CancelButton: "キャンセル"
}
メッセージ、Title、Subtitle の関係性は以下のような感じです。
最後に、以前の記事でも書いた、ギャラリーで表示しているデータを削除する際の確認ポップアップを Confirm 関数に置き換えたいと思います。
If(
Confirm(
"このレコードを削除してもよろしいですか?",
{
Title: "削除の確認",
Subtitle: "この操作は取り消すことができません。",
ConfirmButton: "削除",
CancelButton: "キャンセル"
}
),
Remove(
'問題追跡 益森 20251209',
ThisItem
);
Notify(
"レコードを削除しました。",
NotificationType.Success
)
)
削除ボタンを押すと問題なく削除されました。
あと、こちらの Confirm 関数のメリットとして、テーマカラーを変更すると、ポップアップのカラーも変更される点、レスポンシブ対応している点があります。従来のポップアップだとレスポンシブ対応の難易度高いと思いますので、この点においても Confirm 関数を使うメリットがあると思います。
※現状 (記事執筆時点)、私の手元では、以下のレスポンシブなアプリに追加した Confirm 関数のポップアップ、プレビュー実行では表示されますが、実行すると表示されなかったです。恐らく、時がたてば改善されるものと考えます
実行すると削除アイコンを押してもポップアップが表示されない
まとめ
今回は、Confirm 関数により、Power Apps でポップアップの作成が楽になったため、記事を書きました。以前から実現手段はありましたが、方法が簡単になるのはとてもうれしいですね。是非、今後アプリでポップアップを実装したい際は、Confirm 関数を試してみてください。





















