Partager via


FAQ sur Power Apps Component Framework

Cet article fournit des informations sur les questions fréquemment posées à propos de Power Apps Component Framework.

Où puis-je trouver de bons exemples de composants de code ?

Nous avons publié un ensemble de composants de base qui présentent l’utilisation de diverses capacités de composants et API. De nombreux excellents exemples de la communauté sont disponibles sur les forums communautaires Power Apps.

Comment utiliser des types de données enrichies dans des composants de code tels que les collections ?

Actuellement, cette fonctionnalité n’est pas prise en charge. Cependant, il existe une Fonction JSON dans des applications canevas qui permettent aux créateurs d’applications de d’enchaîner leurs données.

  1. Passez la collection dans la fonction JSON.
  2. Passez la représentation sous forme de chaîne des données de collection renvoyées par la fonction JSON dans l’une des propriétés de chaîne du composant.
  3. Utilisez JSON.parse dans le code du composant pour le reconvertir en objet JavaScript.

Puis-je appeler d’autres composants depuis un autre composant ?

Cette fonction n’est pas prise en charge actuellement.

Puis-je regrouper des ressources de polices ?

Actuellement, les ressources de police (fichiers avec une extension .ttf) ne sont pas prises en charge par l’infrastructure.

Puis-je utiliser la propriété de ressource img dans les applications canevas ?

Actuellement, les ressources img ne sont pas prises en charge dans les applications canevas.

Prise en charge TabIndex pour les composants dans les applications canevas

Actuellement, les composants de code ne prennent pas en charge tabindex dans les applications canevas. Pour les applications pilotées par modèle, l’attribution des onglets est effectuée automatiquement à l’aide de tabIndex = 0, les éléments sont donc parcourus dans leur ordre d’apparition.

Puis-je ajouter une barre de commandes, rechercher dans les sous-grilles

Pour ajouter une barre de commandes, recherchez une sous-grille pour les applications pilotées par modèle, vous devez spécifier cds-data-set-options.

Puis-je accéder au contexte du formulaire comme je le peux dans les gestionnaires d’événements d’applications pilotées par modèle ?

L’accès au contexte de formulaire directement dans un contrôle n’est pas pris en charge. Les composants de code sont censés fonctionner sur divers produits tels que les applications pilotées par modèle, les applications canevas, les tableaux de bord et, par conséquent, ils ne peuvent pas dépendre du contexte du formulaire. Une solution de contournement consiste à rendre le composant de code lié à une colonne et à ajouter un gestionnaire d’événements OnChange à cette colonne. Le composant de code peut mettre à jour la valeur de la colonne, et le gestionnaire d’événements OnChange peut accéder au contexte du formulaire. Une colonne non liée à une table peut être utilisée, ou une colonne liée à une table avec submitMode défini sur never peut être utilisé. Nous ajouterons à l’avenir la prise en charge des événements personnalisés qui pourront être utilisés pour communiquer des modifications en dehors d’un contrôle sans ajouter de configuration de colonne.

Impossible d’ajouter/de supprimer des propriétés du composant de code une fois qu’il est importé

Les propriétés facultatives peuvent être ajoutées dans la nouvelle version du composant, mais les propriétés existantes ne peuvent pas être supprimées. Pour contourner ce problème, vous pouvez rendre les propriétés facultatives et masquées. De plus, les composants de code ne peuvent pas ajouter de propriétés requises dans la nouvelle version et vous devez créer un composant de code avec un nouveau nom et le reconfigurer dans le système cible.

Puis-je accéder à l’objet Window à partir du composant ?

Actuellement, l’accès Objet Window du contrôle n’est pas pris en charge.

Comment puis-je accéder à l’identifiant de l’enregistrement ou au nom de la table ?

Les développeurs qui créent des composants Power Apps peuvent s’attendre à ce que le Contexte contienne des informations sur le contexte de données dans lequel le contrôle existe. Les scripts côté client permettent d’y accéder via l’objet formContext.data.entity qui fournit des méthodes telles que getId et getEntityName que les développeurs de scripts côté client peuvent utiliser pour accéder à l’ID d’enregistrement et au type de table.

Les composants Power Apps ne le fournissent pas, car ils doivent être pris en charge sur plusieurs surfaces où ces informations peuvent ne pas être disponibles.

Pour avoir accès à ces propriétés dans un formulaire où elles sont disponibles, il faut les ajouter en option lors de la configuration du champ.

Pour ce faire, vous devez ajouter des éléments de propriétés dans ControlManifest.Input.xml. La valeur de l’attribut of-type doit être comprise entre SingleLine.Text et la valeur usage doit être définie sur input.

Par exemple, ajoutez les propriétés suivantes dans le contrôle :

<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" />

Une fois ces propriétés définies, vous pouvez accéder aux valeurs en utilisant respectivement context.parameters.entityId et context.parameters.entityName .

Lors de l’enregistrement du contrôle dans le formulaire pour une application pilotée par modèle, vous devez lier la propriété Entity Id à la colonne représentant l’identifiant unique de l’enregistrement. Dans ce cas, accountid pour la table de compte.

Configurez la propriété Entity Id sur le champ accountid

Pour la propriété Entity Name, vous pouvez lier la valeur au champ entitylogicalname ou la lier à une valeur statique, telle que account.

Configurez la propriété Entity Id sur le champ accountid