Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Componentes de lienzo permiten a los creadores crear diferentes tipos de propiedades para pasar valores o lógica entre el componente y la aplicación que aloja el componente. Las propiedades son esenciales para crear componentes interactivos y reutilizables.
Requisitos previos
Esta función está activada por defecto para las nuevas aplicaciones. En el caso de las aplicaciones existentes, debe activarlo en la configuración de la aplicación.
Abra la aplicación de lienzo para editar en Power Apps Studio. En la barra de comandos, seleccione Configuración>Actualizaciones.
En la pestaña Nueva, busque y active los ajustes de Propiedades mejoradas de los componentes.
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 función de salida. 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 Action de
Clear()
podría proporcionar una funcionalidad que la aplicación puede llamar para borrar algunos valores en el componente, o una propiedad Action deSave()
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 sencillo en el que desea que las propiedades de un control dentro del componente estén disponibles para la aplicación de hospedaje. En este ejemplo, el componente se denomina Component1
. Coloque un control deslizante dentro del componente. Agregue una propiedad de entrada para especificar el color de la aplicación consumidora y una propiedad de salida para que el componente pueda indicar a la aplicación el valor actual del control deslizante. En este ejemplo se supone que el componente tiene un Control deslizante denominado 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 propiedadInput.
- Por último, en la lista desplegable Tipo de datos seleccione Color.
- Haga clic en Crear.
A continuación, seleccione el control Deslizante de Slider1
. Busque su propiedad ValueFill y en la barra de fórmulas, ingrese Component1.SliderColor
.
Component1
es el nombre del componente y SliderColor
es el nombre de la propiedad que agregó.
Ahora el componente tiene una SliderColor
propiedad que se puede configurar en la aplicación de consumo para pasar un color al componente y establecer la propiedad ValueFill del control deslizante.
Es posible que también desee proporcionar el valor del control deslizante a la aplicación consumidora. Para ello, añada 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 propiedadOutput.
- 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, establezca la nueva SliderValue
propiedad del componente en la propiedad Valor 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 SliderValue
del componente refleja el valor del control deslizante dentro del componente, que la aplicación consumidora puede leer.
Propiedad de función
Una propiedad de función contiene una expresión que devuelve un valor. Normalmente, la función toma los argumentos que utiliza para calcular el valor que se va 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 de entrada permite que una aplicación consumidora proporcione lógica a un componente, de forma similar a un puntero de función o una función de devolución de llamada. Por ejemplo, si el componente funciona con nombres de personas, puede tener una función de entrada con argumentos firstname
y lastname
y espera una cadena de vuelta. La aplicación puede definir la expresión de función para devolver $"{firstname} {lastname}"
o $"{lastname}, {firstname}"
. El componente llama a la función que proporciona el creador de la aplicación y usa 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 puede tener una propiedad de acción nombrada AddRecord
que permite a la aplicación agregar 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 anterior de control deslizante para la propiedad Data, puede agregar una propiedad de acción llamada ResetValue
para restablecer el control deslizante a su valor predeterminado. Para ello, utilice la fórmula Reset( Slider1 )
. Ahora, las instancias del componente en la aplicación pueden llamar a Component1.ResetValue()
para volver a establecer el control deslizante en el valor predeterminado.
Propiedad evento
Muchos controles estándar tienen propiedades comunes de tipo Evento, que son propiedades de función de comportamiento de entrada.
OnSelect en el control de botón es un ejemplo común. Un componente puede definir propiedades de eventos y llamar a estos eventos como una función. Por ejemplo, un componente con un control de botón puede 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 que esta propiedad actúe cuando se presiona el botón dentro del componente.
Valores predeterminados para propiedades o argumentos
Los valores predeterminados dan un valor a un argumento o propiedad si no se establece ninguno. Esto no tiene sentido para algunos tipos de propiedades. En algunos casos, puede utilizar valores predeterminados para mostrar el esquema esperado para un registro. Al proporcionar un registro predeterminado, establece el tipo de registro como el esquema esperado.
Por ejemplo, una propiedad Action llamada AddRecord
toma un registro para agregarlo a una colección local. Para mostrar el esquema del registro esperado, agregue un valor predeterminado para el argumento de la AddRecord
propiedad.