フィールド拡張
NocoBase では、フィールドコンポーネント(Field) はテーブルやフォーム内でデータを表示・編集するために使います。FieldModel 関連の基底クラスを継承することで、フィールドのレンダリング方法をカスタマイズできます。例えば特殊なフォーマットでデータを表示したり、カスタムコンポーネントで編集したりできます。
例:カスタム表示フィールド
以下の例では、フィールドの値の両側に角括弧 [] を追加するシンプルな表示フィールドを 作成します:

重要なポイント:
renderComponent(value)— 現在のフィールドの値を引数として受け取り、レンダリングする JSX を返すthis.context.record— 現在の行の完全なデータレコードを取得this.context.recordIndex— 現在の行のインデックスを取得ClickableFieldModel—FieldModelを継承し、クリックインタラクション機能を持つDisplayItemModel.bindModelToInterface()— フィールドモデルを指定のフィールドインターフェースタイプにバインド(例:inputはテキスト入力系フィールド)。対応するタイプのフィールドでこの表示コンポーネントを選択できるようになる
フィールドの登録
Plugin の load() 内で registerModelLoaders を使って遅延読み込み登録します:
登録完了後、テーブルブロック内の対応するタイプのフィールド列(上記の例では input にバインドしたため単行テキス トフィールド)で、列の設定ボタンをクリックし、「フィールドコンポーネント」ドロップダウンからこのカスタム表示コンポーネントに切り替えられます。完全な実践例はカスタムフィールドコンポーネントを作るをご覧ください。

完全なソースコード
- @nocobase-example/plugin-field-simple — カスタムフィールドコンポーネントの例
関連リンク
- プラグイン実践:カスタムフィールドコンポーネントを作る — ゼロからカスタムフィールド表示コンポーネントを構築
- プラグイン実践:フロントエンドとバックエンドが連携するデータ管理プラグインを作る — カスタムフィールドを完全なプラグインで実際に使用
- FlowEngine 概要 — FlowModel の基本的な使い方
- ブロック拡張 — カスタムブロック
- 操作拡 張 — カスタム操作ボタン
- FlowDefinition フロー定義 — registerFlow の完全なパラメータとイベントタイプ
- FlowEngine 完全ドキュメント — 完全リファレンス

