背景
PowerAppsのキャンバスアプリで同じ部品をいくつか並べる必要があり、共通化できないか調査してみたところ、カスタムコンポーネントを活用できるみたいです。
カスタムコンポーネントに様々な種類のカスタムプロパティがあったのでまとめておきます。
カスタムコンポーネント作成
カスタムコンポーネントのプロパティの種類
種類 | 概要 | 使用するケース |
---|---|---|
入力 | コンポーネント実装画面から入力するカスタムコンポーネントプロパティを定義できます | コンポーネント実装画面から値を入れたいカスタムコンポーネントプロパティがある |
出力 | コンポーネント実装画面に出力するカスタムコンポーネントプロパティを定義できます | コンポーネント実装画面へ渡したいカスタムコンポーネントプロパティがある |
イベント | カスタムコンポーネントの処理をトリガーにしたイベント関数をコンポーネント実装画面側にコンポーネントに定義できます | コンポーネント実装画面にカスタムコンポーネントの処理をトリガーとして、定義したい関数がある |
関数 | コンポーネント実装画面側から呼び出すカスタムコンポーネントの関数を定義できます | コンポーネント実装画面から呼び出したいカスタムコンポーネントの関数がある |
入力プロパティ画面
コンポーネント実装画面
カスタムコンポーネント画面
出力プロパティ画面
コンポーネント実装画面
※OutTurnはカスタムコンポーネントで更新したオセロゲームの誰の番かを表したプロパティ値になります。
カスタムコンポーネント画面
イベントプロパティ画面
コンポーネント実装画面
※オセロゲームの碁石が置かれたことをトリガーにした関数です。
カスタムコンポーネント画面
関数プロパティ画面
コンポーネント実装画面
※オセロゲームで他の石が置かれたとき、それぞれの碁石をひっくり返す関数を呼び出しております。
※ひっくり返す関数を碁石を置いた位置から縦、横、斜めの八方向に碁石が置けるまで呼び出せば、完成ですが、未実装です。
カスタムコンポーネント画面
まとめ
共通のコンポーネントを使いまわす機会はあるかと思うので、ぜひカスタムコンポーネントを使って、実装をシンプルにしてみてください。
今回カスタムプロパティの引数、戻り値には、触れておりませんが使用する機会があったら、触れてみようと考えております。
この記事が皆さんの役に立てば幸いです。何か質問があれば、コメント欄で教えていただけると幸いです!