このドキュメントはAIによって翻訳されました。正確な情報については英語版をご参照ください。
現在の RunJS 実行コンテキストに関連付けられたデータ表フィールド(CollectionField)のインスタンスです。フィールドのメタデータ、タイプ、バリデーションルール、および関連情報にアクセスするために使用されます。フィールドがデータ表の定義にバインドされている場合にのみ存在し、カスタムフィールドや仮想フィールドの場合は null になる可能性があります。
| シーン | 説明 |
|---|---|
| JSField | フォームフィールドにおいて interface、enum、targetCollection などに基づいた連動やバリデーションを行います。 |
| JSItem | サブテーブルの項目内で、現在の列に対応するフィールドのメタデータにアクセスします。 |
| JSColumn | テーブルの列において collectionField.interface に応じたレンダリング方式の選択や、targetCollection へのアクセスを行います。 |
注意:
ctx.collectionFieldは、フィールドがデータ表(Collection)の定義にバインドされている場合にのみ利用可能です。JSBlock(独立したブロック)やフィールドバインドのないアクションイベントなどのシーンでは、通常undefinedとなるため、使用前に空値チェックを行うことを推奨します。
| プロパティ | 型 | 説明 |
|---|---|---|
name | string | フィールド名(例: status、userId) |
title | string | フィールドのタイトル(国際化対応を含む) |
type | string | フィールドのデータ型(string、integer、belongsTo など) |
interface | string | フィールドのインターフェース型(input、select、m2o、o2m、m2m など) |
collection | Collection | フィールドが属するコレクション |
targetCollection | Collection | 関連フィールドのターゲットコレクション(関連タイプの場合のみ値を持つ) |
target | string | ターゲットコレクション名(関連フィールド) |
enum | array | 列挙型の選択肢(select、radio など) |
defaultValue | any | デフォルト値 |
collectionName | string | 所属するコレクション名 |
foreignKey | string | 外部キーフィールド名(belongsTo など) |
sourceKey | string | 関連ソースキー(hasMany など) |
targetKey | string | 関連ターゲットキー |
fullpath | string | 完全パス(例: main.users.status)。API や変数参照に使用 |
resourceName | string | リソース名(例: users.status) |
readonly | boolean | 読み取り専用かどうか |
titleable | boolean | タイトルとして表示可能かどうか |
validation | object | バリデーションルールの設定 |
uiSchema | object | UI 設定 |
targetCollectionTitleField | CollectionField | ターゲットコレクションのタイトルフィールド(関連フィールド) |
| メソッド | 説明 |
|---|---|
isAssociationField(): boolean | 関連フィールド(belongsTo、hasMany、hasOne、belongsToMany など)かどうかを判定します。 |
isRelationshipField(): boolean | リレーションシップ型フィールド(o2o、m2o、o2m、m2m などを含む)かどうかを判定します。 |
getComponentProps(): object | フィールドコンポーネントのデフォルト props を取得します。 |
getFields(): CollectionField[] | ターゲットコレクションのフィールドリストを取得します(関連フィールドのみ)。 |
getFilterOperators(): object[] | このフィールドがサポートするフィルター演算子($eq、$ne など)を取得します。 |
| 目的 | 推奨される使用法 |
|---|---|
| 現在のフィールドが属するコレクション | ctx.collectionField?.collection または ctx.collection |
| フィールドのメタデータ(名前、タイプ、インターフェース、列挙型など) | ctx.collectionField |
| 関連先のターゲットコレクション | ctx.collectionField?.targetCollection |
ctx.collection は通常、現在のブロックにバインドされているコレクションを表します。ctx.collectionField は、データ表内での現在のフィールドの定義を表します。サブテーブルや関連フィールドなどのシーンでは、両者が異なる場合があります。
ctx.collectionField は通常 undefined です。アクセス前にオプショナルチェイニングを使用することを推奨します。ctx.collectionField は null になる可能性があります。targetCollection は関連タイプのフィールド(m2o、o2m、m2m など)にのみ存在します。enum は select や radioGroup などの選択肢を持つフィールドにのみ存在します。