PeoplePicker コントロール (プレビュー)
[この記事はプレリリース ドキュメントであり、変更されることがあります。]
読み込みエクスペリエンスを作成するために使用されるコントロール。
Note
説明書の全文とソース コードは、GitHub コード コンポーネント リポジトリ を参照してください。
重要
- これはプレビュー機能です。
- プレビュー機能は運用環境での使用を想定しておらず、機能が制限されている可能性があります。 これらの機能を公式リリースの前に使用できるようにすることで、顧客が一足先にアクセスし、そこからフィードバックを得ることができます。
説明設定
ユーザー ピッカー (PeoplePicker
) は、人やグループなどの 1 つ以上のエンティティをリストから選択するために使用されます。 フルネームやメールアドレスがわからない場合でも、メールを作成したり、グループに追加したりするのが簡単になります。
このコード コンポーネントは、キャンバス アプリおよびカスタム ページで使用するための Fluent UI ユーザー ピッカー コントロールのラッパーを提供します。 ベスト プラクティスについては、コンポーネントの説明書を参照してください。
重要なプロパティ
Property | 説明設定 |
---|---|
Items |
Peoplepicker に表示される事前選択されたペルソナ (メンバー) |
Suggestions_Items |
選択する推奨メンバーのリスト。 これは必須のデータセット プロパティです。 |
PeoplePickerType |
使用する Peoplepicker の種類 |
MaxPeople |
選択できるユーザーの最大数 |
NoResultFoundMesage |
指定された検索テキストに基づいて結果が見つからない場合に表示されるメッセージ。 |
MinimumSearchTermLength |
提案を提供する前に入力する 検索語句 の最小の長さ。 |
SearchTermToShortMessage |
検索テキストが 最小検索語長 以下の場合に表示されるカスタム メッセージ。 |
Error |
ユーザー ピッカーを赤で強調表示して、検証が必要な特定のエラーがあることを表します。 |
ShowSecondaryText |
セカンダリ テキスト (JobTitle など) を表示するかどうかに応じて、はい または いいえ を指定します。 |
Items
プロパティ
Property | 説明設定 |
---|---|
PersonaName |
ペルソナの表示名。 |
PersonaKey |
特定のアイテムを識別するキー。 このキーは一意である必要があります。 |
PersonaImgUrl |
ペルソナ画像 (プロフィール画像) の URL または Base64 コンテンツ。 |
PersonaRole |
二次テキスト、できればペルソナの役職 |
PersonaPresence |
オプション - 表示する人物のプレゼンス - 未定義の場合、プレゼンスは表示されません。 値は次のうち一つにする必要があります: away , blocked , busy , dnd , none , offline , online |
PersonaOOF |
オプション - ペルソナが不在かどうかに基づいて、True または False。 |
Suggestions_Items
プロパティ
Property | 説明設定 |
---|---|
SuggestionName |
ペルソナの表示名。 |
SuggestionKey |
特定のアイテムを識別するキー。 このキーは一意である必要があります。 |
SuggestionImgUrl |
ペルソナ画像 (プロフィール画像) の URL または Base64 コンテンツ。 |
SuggestionRole |
二次テキスト、できればペルソナの役職 |
SuggestionPresence |
オプション - 表示する人物のプレゼンス - 未定義の場合、プレゼンスは表示されません。 値は次のうち一つにする必要があります: away , blocked , busy , dnd , none , offline , online |
SuggestionOOF |
オプション - ペルソナが不在かどうかに基づいて、True または False。 |
追加のプロパティ
Property | 説明設定 |
---|---|
Theme |
Fluent UI テーマ デザイナー (windows.net) を使用して生成された JSON 文字列を受け入れます。 これを空白のままにすると、Power Apps が定義した既定のテーマが使用されます。 |
AccessibilityLabel |
スクリーン リーダーの aria-label |
InputEvent |
コントロールに送信するイベント。 SetFocus を InputEvent としてサポートします。 |
使用例
PeoplePicker
入力コレクションを取得できる他のソースをサポートします。 次は、PeoplePicker
コンポーネントを使用する方法の例です。
Office 365 ユーザー コネクタ
データ ソースとして Office 365 ユーザー コネクタを追加します。
以下の Power Fx 式をコントロールの On Search プロパティに割り当て、
UserCollection
を呼ばれるコレクションを作成します。ClearCollect( UserCollection, AddColumns( Filter( Office365Users.SearchUser( { searchTerm: Self.SearchText, top: 500 } ), !(Mail in Self.SelectedPeople.PersonaKey) ), "SuggestionImgUrl", Substitute( JSON( Office365Users.UserPhotoV2(Id), JSONFormat.IncludeBinaryData ), """", "" ), "SuggestionKey", Mail, "SuggestionName", DisplayName, "SuggestionRole", JobTitle, "SuggestionPresence", "away" ) )
Suggestions_Items
プロパティをUserCollection
に設定します。Note
上記の式には、UserPhoto を取得するための連続した要求が含まれているため、読み込み時間が長くなります。 写真が不要で検索時間を短縮したい場合は、
UserCollection
の代わりにコントロールのSuggestions_Items
プロパティの次の式を使用します。AddColumns( Office365Users.SearchUser({ searchTerm: Self.SearchText, top: 500 }), "SuggestionKey", Mail, "SuggestionName", DisplayName, "SuggestionRole", JobTitle )
この時点で、コントロールは機能しており、選択したメンバーはSelectedPeople
財産。
PeoplePicker1.SelectedPeople
Dataverse テーブルと - Microsoft Entra AAD ユーザーまたはユーザー
以下のコード スニペット を指定して
Suggestions_Items
プロパティのセットアップします。ユーザーまたは特定のユーザーを (以下のコードを使用して) テーブルから
PeoplePicker
の項目コレクション (Suggestions_Items
プロパティ下) に追加します。-
AAD Users
テーブルSearch('AAD Users', Self.SearchText,"displayname" ,"mail")
-
Users
テーブルSearch('Users', Self.SearchText,"fullname","internalemailaddress")
AddColumns() を使用して、必要に応じて列をマップします。 以下は、列プロパティ マッピングの例です。
プロパティ名 AADUser テーブル列 ユーザー テーブル列 SuggestionKey "mail" "internalemailaddress" SuggestionName "displayname" "fullname" SuggestionRole "jobtitle" "jobtitle"
この時点で、ユーザー ピッカーが機能し、選択されたメンバーを SelectedPeople プロパティから取得できるようになります。
PeoplePicker1.SelectedPeople
制限
このキャンバス コンポーネントは、キャンバス アプリとカスタム ページでのみ使用できます。