Share via


Propiedades del componente lienzo (experimental)

Componentes de lienzo permite a los creadores crear diferentes tipos de propiedades para transmitir valores o lógica entre el componente y la aplicación que aloja el componente. Las propiedades son una parte esencial de la creación de componentes interactivos y reutilizables.

Importante

Tipos de propiedades

Hay cuatro tipos de propiedades disponibles para los creadores:

  1. Propiedades de los datos: las propiedades de los datos pertenecen a los datos, como un color o un valor de texto. La propiedad Data se puede configurar para que sea Input u Output, que indica si el componente proporciona datos a la aplicación (Output) o la aplicación proporciona datos al componente (Input). Las propiedades Data son las únicas propiedades que participan en el flujo de datos de la aplicación.
  2. Propiedades de la función: las propiedades de la función están relacionadas con la lógica, como realizar un cálculo basado en parámetros específicos o modificar texto. La propiedad Function se puede configurar para que sea Input u Output, que indica si el componente proporciona una función a la que la aplicación puede llamar (Output) o la aplicación proporciona una función que el componente puede llamar (Input). Las propiedades Function no participan en el flujo de datos de una aplicación y no pueden usar componentes o variables de aplicación.
  3. Propiedades de acción: las propiedades de acción son un tipo de propiedad que trata con la lógica y se comporta como una Output Function. Por lo tanto, el componente tiene la lógica definida, y esa lógica puede usar expresiones encadenadas y manipular colecciones o variables ("comportamiento"). Por ejemplo, una propiedad Clear() Action podría proporcionar una funcionalidad que la aplicación puede llamar para borrar algunos valores en el componente, o una propiedad Save() Action que actualiza un origen de datos.
  4. Propiedades de evento: las propiedades de evento son una categoría de propiedad que implica lógica y funciones como una Input Function. Por lo tanto, la aplicación define la lógica, que el componente puede llamar y esa lógica puede usar expresiones encadenadas y manipular colecciones o variables ("comportamiento"). Normalmente, los nombres de estas propiedades reflejan un evento como OnSelect o OnChanged.

Propiedad de datos

El uso de una propiedad de datos es fácil de imaginar. Los controles estándar en las aplicaciones suelen tener varias propiedades de datos, para establecer valores predeterminados, color de texto, tamaño, etc. Veamos un ejemplo simple en el que deseamos que las propiedades de un control dentro del componente estén disponibles para la aplicación de alojamiento. En este ejemplo, el componente se llama Component1. Pondremos un control deslizante dentro de nuestro componente. Tendremos una propiedad Input para especificar el color de la aplicación de consumo, y una propiedad Output donde el componente puede decirle a la aplicación cuál es el valor actual del control deslizante. El siguiente ejemplo asume que su componente contiene un control Control deslizante llamado Slider.

  1. En el panel de propiedades del componente, seleccione Nueva propiedad personalizada.
  2. En el panel Nueva propiedad personalizada, introduzca el nombre para mostrar Slider Color.
  3. Seleccione Tipo de propiedad de Data y seleccione el valor Definición de propiedad Input.
  4. Por último, en la lista desplegable Tipo de datos seleccione Color.
  5. Haga clic en Crear.

A continuación, seleccione el control Slider1 Control deslizante. Busque su propiedad ValueFill y en la barra de fórmulas, ingrese Component1.SliderColor. Component1 se refiere al nombre de nuestro componente, y SliderColor es el nombre de la propiedad que agregamos anteriormente.

Ahora nuestro componente tiene una propiedad SliderColor que se puede configurar en la aplicación de consumo, para pasar un color al componente para configurar la propiedad ValueFill del control deslizante.

También deseamos proporcionar el valor del control deslizante a la aplicación de consumo. Para lograr esto, agregaremos una propiedad Output.

  1. En el panel de propiedades del componente, seleccione Nueva propiedad personalizada.
  2. En el panel Nueva propiedad personalizada, introduzca el nombre para mostrar Slider Value.
  3. Seleccione Tipo de propiedad de Data y seleccione el valor Definición de propiedad Output.
  4. Por último, en la lista desplegable Tipo de datos seleccione Número.
  5. Haga clic en Crear.

Cuando una propiedad Data es Output, el componente proporciona el valor a la aplicación consumidora. Para establecer la fórmula para esto, debemos establecer la nueva propiedad SliderValue en el componente en la propiedad Value del control deslizante.

  1. En el panel de propiedades del componente, haga clic en la propiedad Slider Value.
  2. En la barra de fórmulas a la derecha, reemplace el valor predeterminado de 100 con la siguiente fórmula: Slider1.Value.

Ahora, la propiedad de nuestro componente SliderValue reflejará el valor del control deslizante dentro del componente, que luego se puede leer desde la aplicación de consumo.

Propiedad de función

Una propiedad de función contiene una expresión que devuelve un valor. Por lo general, la función toma algunos argumentos que usa para calcular o determinar el valor a devolver.

Nota

Actualmente, las propiedades de función no pueden acceder a variables o valores y propiedades de componentes, y no pueden activar el flujo de datos. Todos los valores requeridos deben pasarse como argumentos.

Una función Output es una forma sencilla de crear una función personalizada para Power Apps. El componente define una función Output con una expresión que toma algunos argumentos y devuelve un valor. Esta función se puede usar en una aplicación usando el nombre del componente (digamos Component1) llamando a Component1.MyFunction(arg1, arg2).

Una función Input es una forma en que una aplicación de consumo proporciona lógica a un componente, similar a un puntero de función o una función de devolución de llamada. Por ejemplo, su componente puede tratar con nombres de personas y tener una función de entrada con argumentos firstname y lastname y respeta una cadena de vuelta. La aplicación podría definir la expresión de la función para devolver $"{firstname} {lastname}" o podría optar por definir una expresión para $"{lastname}, {firstname}". El componente puede simplemente llamar a la función que proporcionó el creador de la aplicación y usar la cadena devuelta.

Propiedad acción

Las propiedades de acción son similares a las propiedades de función de tipo Output, pero permiten fórmulas de efectos secundarios y encadenamiento de expresiones. Un componente podría tener una propiedad de acción denominada AddRecord que permite que la aplicación agregue un registro a una colección dentro del componente, o una acción Reset que borra variables o colecciones dentro del componente.

En el ejemplo de los ejemplos del control deslizante utilizados para Propiedad de datos anteriormente, podemos introducir una propiedad de acción llamada ResetValue para restablecer el control deslizante a su valor predeterminado. Podemos usar la fórmula Reset( Slider1 ) para esto. Ahora, las instancias de nuestro componente en la aplicación pueden llamar Component1.ResetValue() para volver a establecer el control deslizante en el valor predeterminado.

Propiedad evento

Hay muchos tipos de propiedad Event comunes, propiedades de función de comportamiento de entrada efectivas, en controles estándar. OnSelect en el control de botones es el ejemplo más obvio. Un componente podría definir cualquier cantidad de propiedades de eventos y llamar a estos eventos como una función. Por ejemplo, un componente que tiene un control de botón podría tener una propiedad de evento denominada OnButtonClicked. En el control de botones OnSelect el componente puede llamar a su propiedad Component1.OnButtonClicked(). Una aplicación consumidora puede definir su propia lógica para esta propiedad, para que actúe cuando se presione el botón dentro del componente.

Valores predeterminados para propiedades o argumentos

Los valores predeterminados pueden proporcionar un valor predeterminado para un argumento o propiedad en caso de que no se establezca ninguno. Esto no tiene sentido para algunos tipos de propiedades. Sin embargo, en algunos casos se pueden usar para proporcionar un esquema esperado para un registro. Al proporcionar un registro predeterminado, se establece un tipo de registro como el esquema esperado.

Por ejemplo, una propiedad Action llamada AddRecord acepta un registro para ser agregado a una colección local. Para proporcionar el esquema del registro esperado, un creador debe agregar un valor predeterminado para este argumento AddRecord de la propiedad.