共用方式為


Facepile 控制 (預覽版)

[本文章是發行前版本文件,且隨時可能變更。]

用來顯示影像並與影像互動的控制項。

Note

完整文件和原始程式碼可在 GitHub 程式碼元件存放庫中找到。

Facepile 控制項。

重要

  • 這是預覽功能。
  • 預覽功能不供生產時使用,而且可能功能受限。 這些功能是在正式發行前先行推出,讓客戶能夠搶先體驗並提供意見反應。

描述

Face pile (Facepile) 會顯示角色清單。 每個圓圈代表一個人員,並包含其影像或姓名縮寫。 當共用有權存取特定檢視或檔案的人員,或在工作流程中為某人指派工作時,通常會使用此控制項。

此程式碼元件為繫結至按鈕的 Fluent UI Facepile 控制項提供了一個包裝函式,以便在畫布應用程式和自訂頁面中使用。

內容

索引鍵屬性

屬性 描述
Items 要呈現的動作項目。 第一個項目會視為根項目。
PersonaSize 要顯示在畫面上的角色大小
OverflowButtonType 選擇要顯示的溢位按鈕類型,以及是否要顯示
MaxDisplayablePersonas 要在 Facepile 中顯示的最大角色數
預設和建議的數量為 5 個
ImageShouldFadeIn 影像顯示時是否應具有淡入效果
ShowAddButton 新增按鈕是否應出現在 Facepile 元件中
OverflowButtonLabel 溢位按鈕的 Aria 標籤
AddbuttonAriaLabel 新增按鈕的 Aria 標籤

Items 性能

姓名 描述
ItemPersonaName 角色的顯示名稱
ItemPersonaKey 金鑰會識別特定項目
索引鍵必須是唯一的
ItemPersonaImage 包含角色影像 (設定檔圖片) 的 Dataverse 表格影像資料行
ItemPersonaImageInfo 角色影像 (設定檔圖片) 的 URL 或 Base64 內容
ItemPersonaPresence 選擇性 - 定義角色的存在
IsImage 角色影像 (ItemPersonaImage) 是否為 Dataverse 表格的影像資料行。
此屬性可讓元件根據類型 (URL 或影像) 來呈現影像。 如果影像需要從 Dataverse 表格中參考,則為 True;如果需要從 ItemPersonaImageInfo 屬性參考的 URL 或 Base64,則為 False
ItemPersonaClickable 角色是否應該可點擊

Items 的範例 Power Fx 公式 (使用 Office 365 使用者連接器)

使用 Office 365 使用者連接器產生包含相片的 Items 集合

使用者清單可以來自任何資料來源,但是必須將影像提供給元件。 如果資料來源沒有使用者的影像,您可以使用 AddColumns() Power Fx 函數,將正確的屬性新增至清單,並從對應至 Microsoft Entra 之使用中使用者的使用者識別碼或使用者主體名稱清單擷取使用者的影像。

參考下列範例程式碼,然後將集合傳遞至控制項的 Items 屬性中,以使用 Office 365 使用者連接器來產生名為 UserPersonas 的集合。

ClearCollect(
    UserPersonas,
    AddColumns(
       // Get first 10 users who have email ID - optional
        Filter(
            Office365Users.SearchUser({top: 10}),
            Mail <> Blank()
        ),
        "ItemPersonaKey",
        Mail,
        "ItemPersonaName",
        DisplayName,
        "IsImage",
        false,
        "ItemPersonaImageInfo",
        //Get base64 image data
        Substitute(
            JSON(
                Office365Users.UserPhotoV2(Id),
                JSONFormat.IncludeBinaryData
            ),
            """",
            ""
        ),
        "ItemPersonaPresence",
        "Away",
        "ItemPersonaClickable",
        true
    )
);

Note

由於 ItemPersonaImageInfo 來自影像 URL,因此將 IsImage 欄位設定為 False。 若要呈現 Dataverse 影像欄位,請將 IsImage 欄位設定為 True,並改用 ItemPersonaImage 以傳入影像值。

使用狀況

樣式屬性

屬性 描述
Theme 接受使用 Fluent UI Theme Designer (windows.net) 產生的 JSON 字串。 將此留空將使用 Power Apps 定義的預設主題。 將此留空將使用 Power Apps 定義的預設主題。 有關如何設定的指南,請參閱佈景主題
AccessibilityLabel 螢幕助讀程式 aria-label

事件屬性

屬性 描述
InputEvent 要傳送到控制項的事件。 例如,SetFocus

行為

支援將 SetFocus 視為 InputEvent

設定「選取時」行為

使用組件的 OnSelect 屬性中的 Switch() 公式,透過參考控制項件選擇的 ItemPersonaKey 作為開關值,為每個項目設定特定的動作。

FacepileOnSelect 屬性中的範例 Power Fx 公式:

  Switch( Self.EventName,
    /* Define action when persona clicked */
    "PersonaEvent", 
    Notify("Persona clicked: " & Self.Selected.ItemPersonaKey);
    ,
    
    /* Define logic when the add button clicked */
    "AddButtonEvent", 
    Notify("Add button was clicked");
    ,
  
    /* Define logic when overflow button clicked*/
    "OverFlowButtonEvent",
    Notify("Overflow button clicked");
  )

限制

此程式碼元件只能在畫布應用程式和自訂頁面中使用。