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
- Esta es una característica experimental.
- Las características experimentales no se han diseñado para un uso de producción y pueden tener una funcionalidad restringida. Estas características están disponibles antes del lanzamiento oficial para que los clientes puedan tener un acceso anticipado y proporcionar comentarios. Más información: Características en versión preliminar y experimentales
- El comportamiento que se describe en este artículo solo está disponible cuando la característica experimental Propiedades de componente mejorado en Ajustes > Próximas funciones > Experimental está activada (desactivada de forma predeterminada).
- Sus comentarios nos sirven de mucho: denos su opinión en los foros de la comunidad de características experimentales de Power Apps.
Tipos de propiedades
Hay cuatro tipos de propiedades disponibles para los creadores:
- 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.
- 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.
- 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 propiedadSave()
Action que actualiza un origen de datos. - 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
oOnChanged
.
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
.
- En el panel de propiedades del componente, seleccione Nueva propiedad personalizada.
- En el panel Nueva propiedad personalizada, introduzca el nombre para mostrar
Slider Color
. - Seleccione Tipo de propiedad de Data y seleccione el valor Definición de propiedad Input.
- Por último, en la lista desplegable Tipo de datos seleccione Color.
- 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.
- En el panel de propiedades del componente, seleccione Nueva propiedad personalizada.
- En el panel Nueva propiedad personalizada, introduzca el nombre para mostrar
Slider Value
. - Seleccione Tipo de propiedad de Data y seleccione el valor Definición de propiedad Output.
- Por último, en la lista desplegable Tipo de datos seleccione Número.
- 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.
- En el panel de propiedades del componente, haga clic en la propiedad
Slider Value
. - 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.