Partilhar via


PeoplePicker controlo (pré-visualização)

[Este artigo inclui documentação pré-versão e está sujeito a alterações.]

Um controlo utilizado para criar uma experiência de carregamento.

Nota

A documentação completa e o código de origem encontram-se no repositório de componentes de código do GitHub.

Controlo PeoplePicker.

Importante

  • Esta é uma caraterística de pré-visualização.
  • As caraterísticas de pré-visualização não se destinam à produção e poderão ter caraterísticas restritas. Estas caraterísticas estão disponíveis antes do lançamento oficial, para que os clientes possam ter acesso antecipadamente e enviar comentários.

Description

O seletor de pessoas (PeoplePicker) é utilizado para selecionar uma ou mais entidades, como pessoas ou grupos, a partir de uma lista. Facilita a composição de um e-mail para uma pessoa ou a adição dela a um grupo, se não souber o nome completo ou o endereço de e-mail.

Este componente de código fornece um wrapper em torno do controlo PeoplePicker da Fluent UI para utilização em aplicações de tela e páginas personalizadas. Consulte a documentação do componente para melhores práticas.

Propriedades chave

Property Description
Items A Persona (membros) Pré-selecionada a aparecer no Peoplepicker
Suggestions_Items Lista de Membros sugeridos de onde escolher. Esta é uma propriedade de conjunto de dados obrigatória
PeoplePickerType Tipo de Peoplepicker a utilizar.
MaxPeople Número máximo de utilizadores a serem permitidos para seleção
NoResultFoundMesage Mensagem a ser mostrada se não for encontrado qualquer resultado com base no texto de pesquisa especificado.
MinimumSearchTermLength Comprimento do termo de pesquisa mínimo a ser introduzido antes de fornecer as sugestões.
SearchTermToShortMessage Mensagem personalizada a ser mostrada quando o texto da pesquisa é inferior a MinimumSearchTermLength.
Error Para realçar o seletor de pessoas a vermelho para representar que tem um determinado erro que requer validação.
ShowSecondaryText Especifique Sim ou não, dependendo do texto Secundário (por exemplo, JobTitle) deva ou não ser mostrado.

Items propriedades

Property Description
PersonaName Nome a Apresentar da Persona.
PersonaKey A chave identifica o Item específico. A chave tem de ser exclusiva.
PersonaImgUrl URL ou Conteúdo Base64 da Imagem de Persona (Imagem de Perfil).
PersonaRole Texto Secundário, Preferencialmente JobTitle da Persona
PersonaPresence Opcional – A presença da pessoa a apresentar – não apresentará a presença se indefinido. O valor deve ser de um dos seguintes valores: away, blocked, busy, dnd, none, offline, online
PersonaOOF Opcional – True ou False, com base se a pessoa está ou não Fora do escritório.

Suggestions_Items propriedades

Property Description
SuggestionName Nome a Apresentar da Persona.
SuggestionKey A chave identifica o Item específico. A chave tem de ser exclusiva.
SuggestionImgUrl URL ou Conteúdo Base64 da Imagem de Persona (Imagem de Perfil).
SuggestionRole Texto Secundário, Preferencialmente JobTitle da Persona
SuggestionPresence Opcional – A presença da pessoa a apresentar – não apresentará a presença se indefinido. O valor deve ser de um dos seguintes valores: away, blocked, busy, dnd, none, offline, online
SuggestionOOF Opcional – True ou False, com base se a pessoa está ou não Fora do escritório.

Propriedades adicionais

Property Description
Theme Aceita uma cadeia JSON que é gerada através do Estruturador de Teams da Fluent UI (windows.net). Deixar isto em branco irá utilizar o tema predefinido estabelecido pelo Power Apps.
AccessibilityLabel Etiqueta aria de leitor de ecrã
InputEvent Um evento a enviar ao controlo. Suporta SetFocus como um InputEvent.

Exemplos

PeoplePicker suporta outras fontes de onde a coleção de entrada pode ser recuperada. Seguem-se os exemplos de como utilizar o componente PeoplePicker.

Conector de Utilizadores do Office 365

  1. Adicionar o conector Utilizadores do Office 365 como uma origem de dados.

  2. Atribua a fórmula do Power Fx abaixo à propriedade On Search do controlo para criar uma coleção denominada 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"
        )
    )
    
  3. Defina a propriedade Suggestions_Items como UserCollection.

    Nota

    A fórmula acima inclui um pedido consecutivo para obter UserPhoto, o que aumenta o tempo de carregamento. Se não precisar de fotografias e pretender diminuir o tempo da pesquisa, utilize a seguinte fórmula na propriedade Suggestions_Items do controlo, em vez de UserCollection:

    AddColumns(
        Office365Users.SearchUser({ searchTerm: Self.SearchText, top: 500 }),
        "SuggestionKey", Mail, 
        "SuggestionName", DisplayName,
        "SuggestionRole", JobTitle
    )
    

Neste momento, o controlo está a funcionar e é possível obter membros selecionados a partir da propriedade SelectedPeople.

PeoplePicker1.SelectedPeople

Com tabelas do Dataverse - Utilizadores do Microsoft Entra ou Utilizadores

  1. Configure a Propriedade Suggestions_Items especificando o fragmento de código abaixo.

    Adicione Utilizadores ou utilizadores específicos (utilizando o código abaixo) da tabela à coleção de itens (sob a propriedade Suggestions_Items) do PeoplePicker.

    -AAD Users tabela

    Search('AAD Users', Self.SearchText,"displayname" ,"mail")
    

    -Users tabela

    Search('Users', Self.SearchText,"fullname","internalemailaddress")
    
  2. Mapeie as colunas de acordo com a sua necessidade utilizando AddColumns(). Segue abaixo um exemplo de Mapeamento de Propriedades de Colunas:

    Nome de Propriedade Coluna da Tabela AADUser Coluna da Tabela User
    SuggestionKey "mail" "internalemailaddress"
    SuggestionName "displayname" "fullname"
    SuggestionRole "jobtitle" "jobtitle"

Nesta altura, o seletor de pessoas deverá estar a funcionar e os membros selecionados poderão ser obtidos a partir da Propriedade SelectedPeople.

PeoplePicker1.SelectedPeople

Limitações

Este componente de tela só pode ser utilizado em aplicações de tela e páginas personalizadas.