0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[PowerApps]カスタムコンポーネント

Posted at

背景

PowerAppsのキャンバスアプリで同じ部品をいくつか並べる必要があり、共通化できないか調査してみたところ、カスタムコンポーネントを活用できるみたいです。
カスタムコンポーネントに様々な種類のカスタムプロパティがあったのでまとめておきます。

カスタムコンポーネント作成

  1. ツリービューを選択
  2. コンポーネントを選択
  3. アクセスアプリスコープをオン
    ※上記3については、カスタムコンポーネントでコンポーネントを実装する画面のグローバル変数を参照するか
    image.png

カスタムコンポーネントのプロパティの種類

種類 概要 使用するケース
入力 コンポーネント実装画面から入力するカスタムコンポーネントプロパティを定義できます コンポーネント実装画面から値を入れたいカスタムコンポーネントプロパティがある
出力 コンポーネント実装画面に出力するカスタムコンポーネントプロパティを定義できます コンポーネント実装画面へ渡したいカスタムコンポーネントプロパティがある
イベント カスタムコンポーネントの処理をトリガーにしたイベント関数をコンポーネント実装画面側にコンポーネントに定義できます コンポーネント実装画面にカスタムコンポーネントの処理をトリガーとして、定義したい関数がある
関数 コンポーネント実装画面側から呼び出すカスタムコンポーネントの関数を定義できます コンポーネント実装画面から呼び出したいカスタムコンポーネントの関数がある

入力プロパティ画面

image.png

コンポーネント実装画面

image.png
※turnはオセロゲームが誰の番かを表す変数です。

カスタムコンポーネント画面

image.png

出力プロパティ画面

image.png

コンポーネント実装画面

image.png
※OutTurnはカスタムコンポーネントで更新したオセロゲームの誰の番かを表したプロパティ値になります。

カスタムコンポーネント画面

image.png

イベントプロパティ画面

image.png

コンポーネント実装画面

image.png
※オセロゲームの碁石が置かれたことをトリガーにした関数です。

カスタムコンポーネント画面

image.png

関数プロパティ画面

image.png

コンポーネント実装画面

image.png
※オセロゲームで他の石が置かれたとき、それぞれの碁石をひっくり返す関数を呼び出しております。
※ひっくり返す関数を碁石を置いた位置から縦、横、斜めの八方向に碁石が置けるまで呼び出せば、完成ですが、未実装です。

カスタムコンポーネント画面

image.png

まとめ

共通のコンポーネントを使いまわす機会はあるかと思うので、ぜひカスタムコンポーネントを使って、実装をシンプルにしてみてください。
今回カスタムプロパティの引数、戻り値には、触れておりませんが使用する機会があったら、触れてみようと考えております。

この記事が皆さんの役に立てば幸いです。何か質問があれば、コメント欄で教えていただけると幸いです!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?