Ce document a été traduit par IA. Pour des informations précises, veuillez consulter la version anglaise.
ctx.getVar()
Lit de manière asynchrone les valeurs des variables du contexte d'exécution actuel. La résolution des variables est cohérente avec {{ctx.xxx}} dans le SQL et les modèles, provenant généralement de l'utilisateur actuel, de l'enregistrement actuel, des paramètres de vue, du contexte de la fenêtre contextuelle (popup), etc.
Cas d'utilisation
Définition du type
Valeur de retour : Promise<any>. Utilisez await pour obtenir la valeur résolue ; retourne undefined si la variable n'existe pas.
Si un chemin ne commençant pas par
ctx.est passé, une erreur sera levée :ctx.getVar(path) expects an expression starting with "ctx.", got: "...".
Chemins de variables courants
ctx.getVarInfos()
Obtient les informations structurelles (type, titre, sous-propriétés, etc.) des variables résolvables dans le contexte actuel, facilitant l'exploration des chemins disponibles. La valeur de retour est une description statique basée sur meta et n'inclut pas les valeurs d'exécution réelles.
Définition du type
Dans la valeur de retour, chaque clé est un chemin de variable, et la valeur est l'information structurelle pour ce chemin (incluant type, title, properties, etc.).
Paramètres
Exemple
Différence avec ctx.getValue
Dans un JSField, utilisez getValue/setValue pour lire/écrire le champ actuel ; utilisez getVar pour accéder aux autres variables de contexte (telles que record, user, formValues).
Remarques
- Le chemin doit commencer par
ctx.: par exemple,ctx.record.id, sinon une erreur sera levée. - Méthode asynchrone : Vous devez utiliser
awaitpour obtenir le résultat, par exemple,const id = await ctx.getVar('ctx.record.id'). - Variable inexistante : Retourne
undefined. Vous pouvez utiliser??après le résultat pour définir une valeur par défaut :(await ctx.getVar('ctx.user.nickname')) ?? 'Invité'. - Valeurs de formulaire :
ctx.formValuesdoit être récupéré viaawait ctx.getVar('ctx.formValues'); il n'est pas directement exposé en tant quectx.formValues. Dans un contexte de formulaire, préférez utiliserctx.form.getFieldsValue()pour lire les dernières valeurs en temps réel.
Exemples
Obtenir l'ID de l'enregistrement actuel
Obtenir l'enregistrement dans une fenêtre contextuelle (popup)
Lire les sous-éléments d'un champ de type tableau
Définir une valeur par défaut
Lire les valeurs des champs de formulaire
Lire les paramètres de requête URL
Explorer les variables disponibles
Voir aussi
- ctx.getValue() - Récupère de manière synchrone la valeur du champ actuel (JSField/JSItem uniquement)
- ctx.form - Instance de formulaire ;
ctx.form.getFieldsValue()peut lire les valeurs du formulaire en temps réel - ctx.model - Le modèle où réside le contexte d'exécution actuel
- ctx.blockModel - Le bloc parent où se trouve le JS actuel
- ctx.resource - L'instance de ressource dans le contexte actuel
{{ctx.xxx}}dans SQL / Modèles - Utilise les mêmes règles de résolution quectx.getVar('ctx.xxx')

