Share via


Propriedades do componente da tela (experimental)

Os componentes de tela permitem que os criadores produzam diferentes tipos de propriedades para retransmitir valores ou lógica entre o componente e o aplicativo que hospeda o componente. As propriedades são uma parte essencial da criação de componentes interativos e reutilizáveis.

Importante

Tipos de propriedades

Existem quatro tipos de propriedades disponíveis para os fabricantes:

  1. Propriedades de dados: as propriedades de dados pertencem aos dados, como uma cor ou valor de texto. Uma propriedade de Dados pode ser definida como Entrada ou Saída, que indica se o componente fornece dados ao aplicativo (Saída) ou se o aplicativo fornece dados ao componente (Entrada). As propriedades de Dados são as únicas que participam do fluxo de dados do aplicativo.
  2. Propriedades da função: as propriedades da função estão relacionadas à lógica, como realização de cálculos com base em parâmetros específicos ou alteração de textos. Uma propriedade de Função pode ser definida como Entrada ou Saída, que indica se o componente fornece uma função que o aplicativo pode chamar de (Saída) ou se o aplicativo fornece uma função que o componente pode chamar de (Entrada). As propriedades de Função não participam do fluxo de dados de um aplicativo e não podem usar componentes ou variáveis de aplicativo.
  3. Propriedades de ação: as propriedades de ação são um tipo de propriedade que lida com lógica e se comporta como uma Função de Saída. Assim, o componente tem a lógica definida, e essa lógica pode usar expressões encadeadas e manipular coleções ou variáveis ("comportamento"). Por exemplo, uma propriedade de Clear() Ação pode fornecer uma funcionalidade que o aplicativo pode chamar para limpar alguns valores no componente ou uma propriedade de Save() Ação que atualiza uma fonte de dados.
  4. Propriedades do evento: as propriedades do evento são uma categoria de propriedade que envolve lógica e funciona como uma Função de Entrada. Assim, o aplicativo define a lógica que pode ser chamada pelo componente, e essa lógica pode usar expressões encadeadas e manipular coleções ou variáveis ("comportamento"). Normalmente, os nomes dessas propriedades refletem um evento como OnSelect ou OnChanged.

Propriedade de dados

O uso de uma propriedade de dados é fácil de imaginar. Os controles padrão em aplicativos normalmente têm várias propriedades de dados para definir valores padrão, cor do texto, tamanho, etc. Vejamos um exemplo simples em que desejamos disponibilizar as propriedades de um controle dentro do componente para o aplicativo de hospedagem. Neste exemplo, nosso componente é nomeado Component1. Vamos colocar um controle deslizante dentro do nosso componente. Teremos uma propriedade de Entrada para especificar a cor do aplicativo consumidor e uma propriedade de Saída onde o componente pode dizer ao aplicativo qual é o valor atual do controle deslizante. O exemplo a seguir pressupõe que seu componente contém um Controle deslizante chamado Slider.

  1. No painel de propriedade do componente, selecione Nova propriedade personalizada.
  2. No painel Nova propriedade personalizada, insira o nome de exibição Slider Color.
  3. Selecione o Tipo de propriedade dos Dados e selecione Definição de propriedade, valor de Entrada.
  4. Então, na lista suspensa Tipo de dados selecione Cor.
  5. Clique em Criar.

Em seguida, selecione o Controle deslizante Slider1. Encontre sua propriedade ValueFill e, na barra de fórmulas, insira Component1.SliderColor. Component1 refere-se ao nome do nosso componente e SliderColor é o nome da propriedade que adicionamos anteriormente.

Agora, nosso componente tem uma propriedade SliderColor que pode ser definida no aplicativo de consumo para enviar uma cor para o componente e definir a propriedade ValueFill do controle deslizante.

Também desejamos fornecer o valor do controle deslizante para o aplicativo de consumo. Para fazer isso, adicionaremos uma propriedade de Saída.

  1. No painel de propriedade do componente, selecione Nova propriedade personalizada.
  2. No painel Nova propriedade personalizada, insira o nome de exibição Slider Value.
  3. Selecione o Tipo de propriedade dos Dados e selecione Definição de propriedade, valor de Saída.
  4. Então, na lista suspensa Tipo de dados selecione Número.
  5. Clique em Criar.

Quando uma propriedade de Dados for de Saída, o componente fornece o valor para o aplicativo de consumo. Para definir a fórmula para isso, precisamos definir a nova propriedade SliderValue no componente para a propriedade de Valor do controle deslizante.

  1. No painel de propriedade do componente, clique na propriedade Slider Value.
  2. na barra de fórmulas, substitua o valor padrão de 100 com a seguinte fórmula: Slider1.Value.

Agora, a propriedade do nosso componente SliderValue refletirá o valor do controle deslizante dentro do componente, que pode ser lido no aplicativo de consumo.

Propriedade de função

Uma propriedade de função contém uma expressão que retorna um valor. Normalmente, a função seleciona alguns argumentos que usa para calcular ou determinar o valor a ser retornado.

Observação

As propriedades de função atualmente não podem acessar variáveis ou valores e propriedades de componentes e não podem acionar o fluxo de dados. Quaisquer valores necessários devem ser passados como argumentos.

Uma função de Saída é uma maneira simples de criar uma função personalizada para Power Apps. O componente que define uma função de Saída com uma expressão que recebe alguns argumentos e retorna um valor. Esta função pode então ser usada em um aplicativo usando o nome do componente (como Component1) chamando Component1.MyFunction(arg1, arg2).

Uma função de Entrada é uma maneira de um aplicativo de consumo fornecer lógica a um componente, semelhante a um ponteiro de função ou função de retorno de chamada. Por exemplo, seu componente pode estar lidando com nomes de pessoas e ter uma função de entrada com argumentos firstname e lastname e respeitar uma cadeia de caracteres de volta. O aplicativo pode definir a expressão de função para retornar $"{firstname} {lastname}" ou pode optar por definir uma expressão para $"{lastname}, {firstname}". O componente pode apenas chamar a função que o criador do aplicativo forneceu e usar a cadeia de caracteres retornada.

Propriedade de ação

As propriedades de ação são semelhantes às propriedades de função do tipo de Saída, mas permitem fórmulas de efeitos colaterais e encadeamento de expressões. Um componente pode ter uma propriedade de ação chamada AddRecord, que permite ao aplicativo adicionar um registro a uma coleção dentro do componente ou uma ação de Reset que limpa variáveis ou coleções dentro do componente.

No caso dos exemplos de controle deslizante usados para a Propriedade de dados anteriormente, podemos introduzir uma propriedade de ação chamada ResetValue para definir o controle deslizante de volta ao seu valor padrão. Podemos usar a fórmula Reset( Slider1 ) para isso. Agora, as instâncias do nosso componente no aplicativo podem chamar Component1.ResetValue() para definir o controle deslizante de volta ao valor padrão.

Propriedade de evento

Há muitas propriedades do tipo Evento comuns, propriedades de função de comportamento de entrada efetivas, em controles padrão. OnSelect no controle de botão é o exemplo mais óbvio. Um componente pode definir qualquer número de propriedades de evento e chamar esses eventos como uma função. Por exemplo, um componente que possui um controle de botão pode ter uma propriedade de evento chamada OnButtonClicked. No controle de botão OnSelect, o componente pode chamar sua propriedade Component1.OnButtonClicked(). Um aplicativo de consumo pode definir sua própria lógica para essa propriedade, para agir quando o botão dentro do componente for pressionado.

Valores padrão para propriedades ou argumentos

Os valores padrão podem fornecer um valor padrão para um argumento ou propriedade caso nenhum seja definido. Isso não faz sentido para alguns tipos de propriedades. No entanto, em alguns casos, eles podem ser usados para fornecer um esquema esperado para um registro. Ao fornecer um registro padrão, um tipo de registro é estabelecido como o esquema esperado.

Por exemplo, uma propriedade Ação chamada AddRecord aceita um registro a ser adicionado a uma coleção local. Para fornecer o esquema do registro esperado, um criador deve adicionar um valor padrão para o argumento dessa propriedade AddRecord.