【Power Apps】コンポーネント(共通部品化)についてのご紹介

2022.03.11
【Power Apps】コンポーネント(共通部品化)についてのご紹介

こんにちは、MS開発部1年目の加藤です。

開発を行う上で、共通部品化(共通コントロール)を行う事が多いと思います。
業務でPower Appsを触れていく中で、
Power Appsにも同等の機能がないか調べた所、「コンポーネント」という機能があることを知り、
とても便利な機能だと感じたため、今回ご紹介していきたいと思います。

※Power Appsのコンポーネント機能は2022/3/11時点でプレビュー機能であるため、
ご利用の際は公式サイトにて最新情報をご確認ください。

コンポーネントとは

公式サイトによると

コンポーネントはキャンバス アプリの再利用可能なビルディング ブロックであるため、アプリ メーカーは コンポーネント ライブラリ を使用してアプリ内でまたはアプリ間で使用するカスタム コントロールを作成できます。 コンポーネントは、カスタム プロパティなどの高度な機能を使用して、複雑な機能を有効にすることができます。 この記事では、コンポーネントの概念およびサンプルを紹介します。

コンポーネントは、類似したコントロール パターンを持つ大きなアプリを作成するのに役立ちます。 アプリ内のコンポーネント定義を更新すると、アプリ内のすべてのインスタンスに変更が反映されます。 コンポーネントは、コントロールのコピーや貼り付けの必要性を排除し、パフォーマンスを改善することにより、工数の重複を減らします。 また、コンポーネントは コンポーネント ライブラリ の使用時に共同開発を作成し、組織内でのルック アンド フィールを標準化するのに役立ちます。

引用元:公式サイト【キャンバス アプリのコンポーネントを作成する (プレビュー)】

上記のように、
作成したヘッダーやフッダーを別ページでも利用したいと考えたとき、コピー&ペーストをすると、
カラーや大きさなどデザインに変更点があった場合、全画面で同じ変更を加えなければいけません。

これはかなり手間になり、
画面ごとに少し色やサイズがずれてしまうなどの、人為的なミスにつながってしまうリスクもあります。

しかしコンポーネントとして作成したものを使用することで、
変更点があったときはコンポーネントの変更で全画面に反映させることができるため、
手間が省けることや人為的なミスを防ぐことができます。

実際にコンポーネントを作ってみた

では、実際にPower Appsでコンポーネントを作っていきたいと思います。

コンポーネントの作り方

Power Appsを開き、
【アプリ】>【コンポーネント ライブラリ(プレビュー) 】>【コンポーネント ライブラリの作成】
をクリックしてください。

Power Apps コンポーネントの作成方法

すると以下の画面が表示されるので、任意の【名前】入力後 >【作成】をクリックしてください。

Power Apps 「コンポーネント」の作成方法

Power Apps コンポーネントの作成方法

【コンポーネント】タブをクリックすると
【Component1】と新規のコンポーネントが作成されます。
右横にある3点リーダーの【名前の変更】からコンポーネントの名前が変更できるため、
分かりやすい任意の名前に変更しておくと、編集する際に分かりやすいのでお勧めです。

ここから左横の【+】タブから【挿入】プロパティから選択し、
コンポーネントとなる、ヘッダーやフッターを作っていきます。

今回以下のような、よく見かけるショッピングサイトのヘッダー部分を作成しました。

Power Apps 「コンポーネント」作成例

Power Apps コンポーネント作成例

Power Appsを使うと、とても簡単にヘッダーのコンポーネントを作成することができます!

作成したコンポーネントは
画面左上の【ファイル】>【名前を付けて保存】>【クラウド】>【保存】で保存することができます。

Power Apps 「コンポーネント」の保存方法

Power Apps 「コンポーネント」の保存方法

コンポーネントのインポート方法

続いて作成したコンポーネントを呼び出す方法を説明していきます。

Power Appsで、【作成】>【空のアプリ】>【空のキャンバスアプリ】>【作成】
で新規のキャンバスアプリを立ち上げます。

作成画面の左側サイドバーから【+】>【挿入】をクリックすると、
一番下に【コンポーネントをさらに取得】というボタンが表示されるのでクリックします。

Power Apps 「コンポーネントをさらに取得」

Power Apps コンポーネントをさらに取得

すると、画面右側に【コンポーネントをインポートします】というタブが表示されるので、
先ほど作成したコンポーネントを選択し【インポート】をクリックします。

Power Apps コンポーネントの選択

すると、画面左側の【挿入】タブに
【ライブラリ コンポーネント】>【Component1】と表示されるのでクリックします。

Power Apps ライブラリコンポーネント

Power Apps ライブラリコンポーネント

これで、コンポーネントのインポートが完了します。

Power Apps 「コンポーネント」のインポート

Power Apps コンポーネントのインポート

コンポーネントを作るときの注意点

関数について

コンポーネントを作成する際に最も気を付ける点は、関数設定です。

例えば、ボタンのOnSelectにNavigate(○○ページ)などと設定すると、
全ての画面のボタンから設定した○○ページに飛んでしまうことになります。

要するに、使用するページで共通して使用する関数しか書いてはいけないということです。

そのためコンポーネントはあくまでデザインで、関数等は各ページにコンポーネントを
設置したあとに書いて使う方が良いのではないかと感じました。

インポート&エクスポートについて

インポートの方法は、上記の作成方法にてご紹介しました。
Power Appsの同じ環境下のアプリではコンポーネントを使いまわすことができます。

では、別の環境下でコンポーネントを使いまわすことはできるのでしょうか。

結論から言うと、
現在は別の環境下で作成されたコンポーネントをエクスポートすることはできませんでした。

ローカルに保存されたコンポーネント ライブラリ ファイルからコンポーネント ライブラリを使用してコンポーネントをインポートすることはできません。 ファイル > ファイル名を付けて保存 > このコンピューター を使用して、ローカルに保存されたコンポーネント ライブラリをインポートし、アプリとしてコンポーネント ライブラリ アプリをダウンロードしようとする場合、次のエラー メッセージが表示されます:

エラーメッセージ


引用元:公式サイト【コンポーネント ライブラリ (プレビュー)】

このように、同じ環境下ではコンポーネントを使いまわすことはできるが、
別の環境で使いたい場合は1から再度コンポーネントを作る必要があるため、注意が必要です。

まとめ

Power Appsのコンポーネントについての説明から、
実装方法や注意点までまとめていきましたが、いかがでしたか?

本章でもご紹介した通り、コンポーネントとして作成することで、
同じものを使いまわすことができ、作業時間を短縮することができます。

今回ご紹介させていただいたPower Appsや、
Power Platformについて興味をお持ちいただいた方は、下記からご連絡ください。

また、弊社の記事ではありますが、
社会人1年目がPower Platform・Power Appsについて調べてみた
にてPower PlatformやPower Apps のモデル駆動型やポータルについても、
概要を記載させていただいていますので、併せてご確認ください。

ここまでお読みいただき、誠にありがとうございました。

以上、最後までご愛読いただき
ありがとうございました。

お問い合わせは、
以下のフォームへご連絡ください。

お問い合わせ

  • この記事の
    著者
  • この著者の
    最新記事
加藤

この著者の保持資格

PAGETOP