Compartir a través de


Preguntas frecuentes sobre Power Apps component framework

Este artículo proporciona información sobre las preguntas frecuentes relativas a Power Apps component framework.

¿Dónde puedo encontrar buenos ejemplos de componentes de código?

Hemos publicado un conjunto de componentes básicos que muestra el uso de varias capacidades de componentes y API. 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 no se admite esta característica. Sin embargo, hay una función JSON en aplicaciones de lienzo que permiten a los creadores de aplicaciones codificar sus datos.

  1. Pase la colección a la función JSON.
  2. Pase la representación de cadena de los datos de colección que se devuelven desde la función JSON a una de las propiedades de cadena del componente.
  3. Utilice JSON.parse en el código de componente para convertirlo nuevamente en un Objeto JavaScript.

¿Puedo llamar a otros componentes desde dentro de otro componente?

Actualmente no se admite.

¿Puedo agrupar recursos de fuentes?

Actualmente, el marco no admite recursos de fuente (archivos con extensión .ttf).

¿Puedo usar la propiedad de recurso img en aplicaciones de lienzo?

Actualmente no se admiten recursos img en las aplicaciones de lienzo.

Compatibilidad con TabIndex para componentes en aplicaciones de lienzo

Actualmente, los componentes de código no son compatibles con la propiedad tabindex en aplicaciones de lienzo. Para las aplicaciones basadas en modelos, la asignación de pestañas se asigna automáticamente usando tabIndex = 0, por lo que los elementos se navegan en el orden en que aparecen.

¿Puedo agregar barra de comandos, buscar en subcuadrículas?

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 del formulario como puedo hacerlo en los controladores de eventos de aplicaciones basadas en 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 basadas en modelos, aplicaciones de lienzo, paneles y, por lo tanto, no pueden depender del 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 la columna y el controlador de eventos OnChange puede acceder al contexto del formulario. Se puede usar una columna no vinculada a una tabla, o una columna vinculada a una tabla con submitMode establecido en never. Agregaremos soporte para los eventos personalizados en el futuro que se pueden usar para comunicar cambios fuera de un control sin agregar una configuración de columna.

No se pueden agregar/eliminar propiedades del componente de código una vez que se importa

Las propiedades opcionales se pueden agregar en la versión más reciente del componente, pero las propiedades existentes no se pueden eliminar. Como solución alternativa, puede hacer que las propiedades sean opcionales y ocultas. Además, los componentes de código no pueden agregar propiedades requeridas en la versión más reciente, y debe crear un componente de código con un nuevo nombre y reconfigurarlo en el sistema de destino.

¿Puedo acceder al objeto Ventana desde el componente?

Actualmente, no es compatible acceder al Objeto de ventana desde el control.

¿Cómo puedo acceder a la identificación del registro o al nombre de la tabla?

Los desarrolladores que crean componentes de Power Apps pueden esperar que el Contexto contenga información sobre el contexto de datos en el que existe el control. Los scripts del lado del cliente brindan acceso a esto a través del objeto formContext.data.entity que proporciona métodos como getId y getEntityName los desarrolladores de secuencias de comandos del lado del cliente pueden usar para acceder al ID de registro y al tipo de tabla.

Los componentes de Power Apps no proporcionan esto porque necesitan estar soportados en múltiples superficies donde esta información puede no estar disponible.

Para tener acceso a estas propiedades en un formulario donde están disponibles, deben agregarse como opciones cuando se configura el control.

Para hacer esto, necesita agregar elementos de propiedad en el ControlManifest.Input.xml. El valor de atributo of-type debe ser SingleLine.Text y el usage debe ser input.

Por ejemplo, agregando 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 usando context.parameters.entityId y context.parameters.entityName respectivamente.

Al registrar el control en el formulario para una aplicación basada en modelos, debe vincular la propiedad Id. de entidad a la columna que representa el identificador único del registro. En este caso, el accountid para la tabla de cuentas.

Configure la propiedad Id. de la entidad en el campo accountid

Para la propiedad Nombre de entidad, puede vincular el valor al campo entitylogicalname o vincularlo a un valor estático, como account.

Configure la propiedad del nombre de la entidad en el campo accountid