Cet article fournit des informations sur les questions fréquemment posées sur l’infrastructure de composants Power Apps.
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 fonctionnalités et API de composant. De nombreux exemples exceptionnels de la communauté sont disponibles sur les forums de la communauté Power Apps.
Comment utiliser des types de données enrichis dans des composants de code tels que collections ?
Actuellement, cette fonctionnalité n’est pas prise en charge. Toutefois, il existe une fonction JSON dans les applications de canevas qui permet aux créateurs d’applications de chaîner leurs données.
- Transmettez la collection à la fonction JSON.
- Transmettez la représentation sous forme de chaîne des données de collection retournées par la fonction JSON dans l’une des propriétés de chaîne du composant.
- Utilisez JSON.parse dans le code du composant pour le convertir en objet JavaScript.
Puis-je appeler d’autres composants à partir d’un autre composant ?
Ce n’est pas pris en charge actuellement.
Puis-je regrouper des ressources de police ?
Actuellement, les ressources de police (fichiers avec une extension de fichier .ttf) ne sont pas prises en charge par l’infrastructure.
Puis-je utiliser la propriété de ressource img dans les applications de type canevas ?
Actuellement, les ressources img ne sont pas prises en charge dans les applications de canevas.
Prise en charge de TabIndex pour les composants dans les applications de canvas
Actuellement, les composants de code ne prennent pas en charge la propriété tabindex dans les applications Canvas. Pour les applications basées sur des modèles, l’attribution d’onglets est attribuée automatiquement à l’aide tabIndex = 0de , de sorte que les éléments sont navigués dans l’ordre dans lequel ils apparaissent.
Puis-je ajouter une barre de commandes, rechercher dans des sous-réseaux
Pour ajouter une barre de commandes et une fonction de recherche à une sous-grille pour les applications basées sur des modèles, vous devez spécifier le cds-data-set-options.
Puis-je accéder au contexte de formulaire comme dans les gestionnaires d’événements d’applications basées sur des modèles ?
L'accès direct au contexte du formulaire dans un contrôle n'est pas pris en charge. Les composants de code sont censés fonctionner sur différents produits tels que les applications basées sur des modèles, les applications de canevas, les tableaux de bord et, par conséquent, ils ne peuvent pas avoir de dépendance sur le contexte de formulaire. Une solution de contournement est de faire en sorte que le composant de code soit lié à une colonne et d'ajouter un gestionnaire d'événements OnChange à cette colonne. Le composant de code peut mettre à jour la valeur de colonne et le OnChange gestionnaire d’événements peut accéder au contexte de formulaire. La colonne non liée à une table peut être utilisée, ou une colonne liée à une table avec submitMode définie sur never peut être utilisée. Nous ajouterons la prise en charge des événements personnalisés à l’avenir, qui peuvent être utilisés pour communiquer les modifications en dehors d’un contrôle sans ajouter de configuration de colonne.
Impossible d’ajouter/supprimer des propriétés du composant de code une fois qu’elle est importée
Les propriétés facultatives peuvent être ajoutées dans la version plus récente 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. En outre, les composants de code ne peuvent pas ajouter de propriétés requises dans la version plus récente, 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 à l’objet Window depuis le contrôle n’est pas pris en charge.
Comment puis-je accéder à l’ID d’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 fournissent l’accès à ceci via l’objet formContext.data.entity qui fournit des méthodes telles que getId etgetEntityName , 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 fournissent pas cela, 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, elles doivent être ajoutées en tant qu’options lorsque le contrôle est configuré.
Pour ce faire, vous devez ajouter des éléments de propriété dans le ControlManifest.Input.xml.
La valeur de l’attribut of-type doit être SingleLine.Text et la usage valeur doit être input.
Par exemple, l’ajout des 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" />
Avec ces propriétés définies, vous pouvez accéder aux valeurs à l’aide context.parameters.entityId et context.parameters.entityName respectivement.
Lors de l’inscription 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’identificateur unique de l’enregistrement. Dans ce cas, la accountidtable des comptes.
Pour la propriété Entity Name , vous pouvez lier la valeur au entitylogicalname champ ou à une valeur statique, par accountexemple .