Extension d'action
Dans NocoBase, une action (Action) est un bouton dans un bloc qui déclenche une logique métier — par exemple « Nouveau », « Modifier », « Supprimer ». En étendant la classe parente ActionModel, vous pouvez ajouter des boutons d'action personnalisés.
Scénarios d'action
Chaque action doit déclarer son scénario d'apparition via la propriété static scene :
Exemples
Action au niveau de la table
S'applique à toute la table de données et apparaît dans la barre d'actions en haut du bloc :
Action au niveau de l'enregistrement
S'applique à un seul enregistrement et apparaît dans la colonne d'actions de chaque ligne du tableau :
Disponible dans les deux scénarios
Si l'action ne distingue pas les scénarios, utilisez ActionSceneEnum.both :
Les trois écritures partagent la même structure — la seule différence vient de la valeur de static scene et du libellé dans defaultProps.
Enregistrer une action
Dans load() du Plugin, utilisez registerModelLoaders pour le chargement à la demande :
Une fois enregistrés, vous pourrez ajouter ces boutons d'action personnalisés dans « Configurer les actions » d'un bloc.
Code source complet
- @nocobase-example/plugin-simple-action — exemple complet pour les trois scénarios d'action
Liens connexes
- Pratique : faire un bouton d'action personnalisé — construire les trois scénarios d'action de zéro
- Pratique : faire un plugin de gestion de données front+back — application réelle d'action personnalisée + ctx.viewer.dialog dans un plugin complet
- Aperçu de FlowEngine — utilisation de base de FlowModel
- Extension de bloc — bloc personnalisé
- Extension de champ — composant de champ 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

