Resource API
NocoBase FlowEngine は、フロントエンドのデータ操作を処理するために 2 つの Resource クラスを提供しています。MultiRecordResource はリスト/テーブル(複数レコード)用、SingleRecordResource はフォーム/詳細(単一レコード)用です。これらは REST API 呼び出しをカプセル化し、リアクティブなデータ管理を提供します。
継承チェーン:FlowResource → APIResource → BaseRecordResource → MultiRecordResource / SingleRecordResource
MultiRecordResource
リスト、テーブル、カンバンなどの複数レコードのシナリオに使用します。@nocobase/flow-engine からインポートします。
データ操作
ページネーション
選択行
例:CollectionBlockModel での使用
CollectionBlockModel を継承する場合、createResource() で resource を作成し、renderComponent() でデータを読み取ります:
完全な例は FlowEngine → ブロック拡張 を参照してください。
例:操作ボタンでの CRUD 呼び出し
ActionModel の registerFlow handler 内で、ctx.blockModel?.resource を通じて現在のブロックの resource を取得し、CRUD メソッドを呼び出します:
完全な例は フロントエンドとバックエンドが連動するデータ管理プラグインを作成する を参照してください。
例:CRUD 操作クイックリファレンス
SingleRecordResource
フォーム、詳細ページなどの単一レコードのシナリオに使用します。@nocobase/flow-engine からインポートします。
データ操作
主要プロパティ
例:フォーム詳細シナリオ
例:レコードの新規作成と編集
共通メソッド
以下のメソッドは MultiRecordResource と SingleRecordResource の両方で使用できます:
フィルタリング
フィールド制御
リソース設定
メタデータとステータス
イベント
Filter 構文
NocoBase は JSON スタイルのフィルタリング構文を使用し、演算子は $ で始まります:
Resource では addFilterGroup を使用してフィルター条件を管理することをお勧めします:
MultiRecordResource と SingleRecordResource の比較
関連リンク
- フロントエンドとバックエンドが連動するデータ管理プラグインを作成する -- 完全な例:カスタム操作ボタンでの
resource.create()の実際の使用法 - FlowEngine → ブロック拡張 -- CollectionBlockModel での
createResource()とresource.getData()の使用法 - ResourceManager リソース管理(サーバーサイド) -- サーバーサイドの REST API リソース定義。クライアントの Resource が呼び出すのはこれらのインターフェースです
- FlowContext API --
ctx.makeResource()、ctx.initResource()などのメソッドの説明

