Extension de champ
Dans NocoBase, les composants de champ (Field) servent à afficher et éditer les données dans les tableaux et formulaires. En étendant les classes parentes liées à FieldModel, vous pouvez personnaliser le rendu d'un champ — par exemple afficher un type de données dans un format spécifique ou utiliser un composant personnalisé pour l'éditer.
Exemple : champ d'affichage personnalisé
L'exemple suivant crée un champ d'affichage simple — il ajoute des crochets [] autour de la valeur du champ :

Quelques points clés :
renderComponent(value)— reçoit la valeur courante du champ en paramètre et renvoie le JSXthis.context.record— récupère l'enregistrement complet de la ligne courantethis.context.recordIndex— récupère l'index de la ligne couranteClickableFieldModel— étendFieldModelavec la capacité d'interaction au clicDisplayItemModel.bindModelToInterface()— lie le modèle de champ à un type d'interface de champ (par exempleinputpour les champs texte) ; ce composant d'affichage devient alors sélectionnable sur les champs du type correspondant
Enregistrer un champ
Dans load() du Plugin, utilisez registerModelLoaders pour le chargement à la demande :
Une fois enregistré, dans un bloc tableau, trouvez la colonne d'un champ d'un type correspondant (ici input pour les champs texte sur une ligne), cliquez sur le bouton de configuration de la colonne et, dans le menu déroulant « Composant de champ », vous pourrez basculer vers ce composant d'affichage personnalisé. Voir Faire un composant de champ personnalisé pour un exemple pratique complet.

Code source complet
- @nocobase-example/plugin-field-simple — exemple de composant de champ personnalisé
Liens connexes
- Pratique : faire un composant de champ personnalisé — construire un composant d'affichage de champ personnalisé de zéro
- Pratique : faire un plugin de gestion de données front+back — application réelle du champ personnalisé dans un plugin complet
- Aperçu de FlowEngine — utilisation de base de FlowModel
- Extension de bloc — bloc personnalisé
- Extension d'action — bouton d'action personnalisé
- Définition de Flow FlowDefinition — paramètres complets de registerFlow et types d'événements
- Documentation complète FlowEngine — référence complète

