操作拡張
NocoBase では、操作(Action) はブロック内のボタンで、ビジネスロジックをトリガーします。例えば「新規作成」「編集」「削除」などです。ActionModel 基底クラスを継承することで、カスタム操作ボタンを追加できます。
操作シーン
各操作は表示シーンの宣言が必要で、static scene プロパティで指定します:
使用例
データテーブルレベル操作
データテーブル全体に対する操作で、ブロック上部の操作バーに表示されます:
レコードレベル操作
単一レコードに対する操作で、テーブル各行の操作列に表示されます:
両方のシーンに対応
操作がシーンを区別しない場合は ActionSceneEnum.both を使います:
3つの書き方の構造は同じです。違いは static scene の値と defaultProps 内のボタンテキストだけです。
操作の登録
Plugin の load() 内で registerModelLoaders を使って遅延読み込み登録します:
登録完了後、ブロックの「操作の設定」からカスタム操作ボタンを追加できます。
完全なソースコード
- @nocobase-example/plugin-simple-action — 3つの操作シーンの完全な例
関連リンク
- プラグイン実践:カスタム操作ボタンを作る — ゼロから3つのシーンの操作ボタンを構築
- プラグイン実践:フロントエンドとバックエンドが連携するデータ管理プラグインを作る — カスタム操作 + ctx.viewer.dialog を完全なプラグインで実際に使用
- FlowEngine 概要 — FlowModel の 基本的な使い方
- ブロック拡張 — カスタムブロック
- フィールド拡張 — カスタムフィールドコンポーネント
- FlowDefinition フロー定義 — registerFlow の完全なパラメータとイベントタイプ
- FlowEngine 完全ドキュメント — 完全リファレンス

