En este artículo se proporciona información sobre las preguntas más frecuentes sobre el marco de componentes de Power Apps.
¿Dónde puedo encontrar algunos buenos ejemplos de componentes de código?
Hemos publicado un conjunto de componentes básicos que muestran el uso de diversas funcionalidades y API de componentes. Muchos ejemplos excelentes de la comunidad están disponibles en los foros de la comunidad de Power Apps.
¿Cómo usar tipos de datos enriquecidos en componentes de código como Colecciones?
Actualmente, esta característica no se admite. Sin embargo, hay una función JSON en aplicaciones de canvas que permite a los desarrolladores de aplicaciones convertir sus datos a cadena.
- Pase la colección a la función JSON.
- Pase la representación de cadena de los datos de recopilación que se devuelven de la función JSON a una de las propiedades de cadena del componente.
- Use JSON.parse en el código del componente para convertirlo de nuevo en un objeto JavaScript.
¿Puedo llamar a otros componentes desde otro componente?
Esto no se admite actualmente.
¿Puedo agrupar recursos de fuente?
Actualmente, el marco no admite los recursos de fuente (archivos con una extensión de archivo .ttf).
¿Puedo usar la propiedad de recurso img en aplicaciones de lienzo?
Actualmente, los recursos img no se admiten en canvas apps.
Compatibilidad con el TabIndex para componentes en aplicaciones canvas
Actualmente, los componentes de código no son compatibles con la propiedad tabindex en aplicaciones de lienzo. En el caso de las aplicaciones controladas por modelos, la asignación de pestañas se asigna automáticamente mediante tabIndex = 0, por lo que los elementos se navegan en el orden en que aparecen.
¿Puedo agregar la barra de comandos, buscar en subgrids?
Para agregar una barra de comandos y búsqueda a una subcuadrícula de aplicaciones basadas en modelos, debe especificar el valor de cds-data-set-options.
¿Puedo acceder al contexto de formulario como puedo en controladores de eventos de aplicaciones controladas por modelos?
No se admite el acceso al contexto del formulario directamente en un control. Se espera que los componentes de código funcionen en varios productos, como aplicaciones controladas por modelos, aplicaciones de lienzo, paneles y, por lo tanto, no pueden tener dependencias en el contexto del formulario. Una solución es hacer que el componente de código esté vinculado a una columna y agregar un controlador de eventos OnChange a esa columna. El componente de código puede actualizar el valor de columna y el OnChange controlador de eventos puede acceder al contexto del formulario. Se puede usar una columna no enlazada a una tabla o se puede usar una columna enlazada a una tabla con submitMode establecida en never . Agregaremos compatibilidad con los eventos personalizados en el futuro, que se pueden usar para comunicar los cambios fuera de un control sin agregar una configuración de columna.
No se pueden agregar o quitar propiedades del componente de código una vez que se importa
Las propiedades opcionales se pueden agregar en la versión del componente más reciente, pero no se pueden quitar las propiedades existentes. Como solución alternativa, puede hacer que las propiedades sean opcionales y ocultas. Además, los componentes de código no pueden agregar propiedades necesarias en la versión más reciente y debe crear un componente de código con un nuevo nombre y volver a configurarlo en el sistema de destino.
¿Puedo acceder al objeto Window desde el componente?
Actualmente, no se admite el acceso al objeto Window desde el control.
¿Cómo puedo acceder al identificador de registro o al nombre de la tabla?
Los desarrolladores que crean componentes de Power Apps podrían esperar que el contexto contenga información sobre el contexto de datos en el que existe el control. Los scripts del lado cliente proporcionan acceso a esto a través del objeto formContext.data.entity , que proporciona métodos como getId y getEntityName que los desarrolladores de scripts del lado cliente pueden usar para acceder al identificador de registro y al tipo de tabla.
Los componentes de Power Apps no proporcionan esto porque deben admitirse en varias superficies en las que es posible que esta información no esté disponible.
Para tener acceso a estas propiedades en un formulario en el que estén disponibles, deben agregarse como opciones cuando se configura el control.
Para ello, debe agregar elementos de propiedad en el ControlManifest.Input.xml.
El valor del of-type atributo debe ser SingleLine.Text y usage debe ser input.
Por ejemplo, agregue las siguientes propiedades dentro del control :
<property name="entityId"
display-name-key="Entity Id"
description-key="The id of the current record."
of-type="SingleLine.Text"
usage="input"
required="true" />
<property name="entityName"
display-name-key="Entity Name"
description-key="The logical name of the type of the current record."
of-type="SingleLine.Text"
usage="input"
required="true" />
Con estas propiedades definidas, puede acceder a los valores mediante context.parameters.entityId y context.parameters.entityName respectivamente.
Al registrar el control en el formulario para una aplicación controlada por modelos, debe enlazar la propiedad Entity Id a la columna que representa el identificador único del registro. En este caso, el accountid para la tabla de cuentas.
Para la propiedad Entity Name , puede enlazar el valor al entitylogicalname campo o enlazar a un valor estático, como account.