Ce document a été traduit par IA. Pour des informations précises, veuillez consulter la version anglaise.
Le modèle de bloc parent (instance de BlockModel) dans lequel se trouve le champ JS ou le bloc JS actuel. Dans des scénarios tels que JSField, JSItem et JSColumn, ctx.blockModel pointe vers le bloc de formulaire ou le bloc de tableau portant la logique JS actuelle. Dans un JSBlock indépendant, il peut être null ou identique à ctx.model.
| Scénario | Description |
|---|---|
| JSField | Accéder à form, collection et resource du bloc de formulaire parent au sein d'un champ de formulaire pour implémenter une liaison ou une validation. |
| JSItem | Accéder aux informations de ressource et de collection du bloc de tableau/formulaire parent au sein d'un élément de sous-tableau. |
| JSColumn | Accéder à resource (ex: getSelectedRows) et collection du bloc de tableau parent au sein d'une colonne de tableau. |
| Actions de formulaire / Flux de travail | Accéder à form pour la validation avant soumission, resource pour le rafraîchissement, etc. |
Remarque :
ctx.blockModeln'est disponible que dans les contextes RunJS où un bloc parent existe. Dans lesJSBlockindépendants (sans formulaire/tableau parent), il peut êtrenull. Il est recommandé d'effectuer une vérification de valeur nulle avant utilisation.
Le type spécifique dépend du type de bloc parent : les blocs de formulaire sont principalement des FormBlockModel ou EditFormModel, tandis que les blocs de tableau sont principalement des TableBlockModel.
| Propriété | Type | Description |
|---|---|---|
uid | string | Identifiant unique du modèle de bloc. |
collection | Collection | La collection liée au bloc actuel. |
resource | Resource | L'instance de ressource utilisée par le bloc (SingleRecordResource / MultiRecordResource, etc.). |
form | FormInstance | Bloc de formulaire : Instance de formulaire Ant Design, prenant en charge getFieldsValue, validateFields, setFieldsValue, etc. |
emitter | EventEmitter | Émetteur d'événements, utilisé pour écouter formValuesChange, onFieldReset, etc. |
| Besoin | Usage recommandé |
|---|---|
| Bloc parent du JS actuel | ctx.blockModel |
| Lire/Écrire des champs de formulaire | ctx.form (équivalent à ctx.blockModel?.form, plus pratique dans les blocs de formulaire) |
| Modèle du contexte d'exécution actuel | ctx.model (Modèle de champ dans JSField, modèle de bloc dans JSBlock) |
Dans un JSField, ctx.model est le modèle de champ, et ctx.blockModel est le bloc de formulaire ou de tableau portant ce champ ; ctx.form est généralement ctx.blockModel.form.
ctx.blockModel peut être null. Il est recommandé d'utiliser le chaînage optionnel lors de l'accès à ses propriétés : ctx.blockModel?.resource?.refresh?.().ctx.blockModel fait référence au bloc de formulaire ou de tableau portant le champ actuel. Dans un JSBlock, il peut s'agir de lui-même ou d'un bloc de niveau supérieur, selon la hiérarchie réelle.resource n'existe que dans les blocs de données ; form n'existe que dans les blocs de formulaire. Les blocs de tableau n'ont généralement pas de form.ctx.blockModel?.resource, à utiliser directement si disponible).