このドキュメントはAIによって翻訳されました。正確な情報については英語版をご参照ください。
現在の RunJS 実行コンテキストに関連付けられたコレクション(Collection)インスタンスです。コレクションのメタデータ、フィールド定義、主キーなどの設定にアクセスするために使用されます。通常、ctx.blockModel.collection または ctx.collectionField?.collection から取得されます。
| シーン | 説明 |
|---|---|
| JSBlock | ブロックにバインドされたコレクション。name、getFields、filterTargetKey などにアクセス可能です。 |
| JSField / JSItem / JSColumn | 現在のフィールドが属するコレクション(または親ブロックのコレクション)。フィールドリストや主キーなどの取得に使用されます。 |
| テーブル列 / 詳細ブロック | コレクション構造に基づいたレンダリングや、ポップアップを開く際の filterByTk の受け渡しなどに使用されます。 |
注意:
ctx.collectionは、データブロック、フォームブロック、テーブルブロックなど、コレクションがバインドされているシーンで利用可能です。コレクションがバインドされていない独立した JSBlock ではnullになる可能性があるため、使用前に空値チェックを行うことを推奨します。
| プロパティ | 型 | 説明 |
|---|---|---|
name | string | コレクション名(例:users、orders) |
title | string | コレクションのタイトル(国際化対応を含む) |
filterTargetKey | string | string[] | 主キーのフィールド名。filterByTk や getFilterByTK で使用されます。 |
dataSourceKey | string | データソースのキー(例:main) |
dataSource | DataSource | 所属するデータソースのインスタンス |
template | string | コレクションテンプレート(例:general、file、tree) |
titleableFields | CollectionField[] | タイトルとして表示可能なフィールドのリスト |
titleCollectionField | CollectionField | タイトルフィールドのインスタンス |
| メソッド | 説明 |
|---|---|
getFields(): CollectionField[] | すべてのフィールドを取得します(継承されたものを含む) |
getField(name: string): CollectionField | undefined | フィールド名で単一のフィールドを取得します |
getFieldByPath(path: string): CollectionField | undefined | パスでフィールドを取得します(user.name のような関連フィールドもサポート) |
getAssociationFields(types?): CollectionField[] | 関連フィールドを取得します。types には ['one'] や ['many'] などを指定できます。 |
getFilterByTK(record): any | レコードから主キーの値を抽出します。API の filterByTk で使用されます。 |
| ニーズ | 推奨される使い方 |
|---|---|
| 現在のコンテキストに関連付けられたコレクション | ctx.collection(ctx.blockModel?.collection または ctx.collectionField?.collection と等価) |
| 現在のフィールドのコレクション定義 | ctx.collectionField?.collection(フィールドが属するコレクション) |
| 関連先のコレクション | ctx.collectionField?.targetCollection(関連フィールドのターゲットコレクション) |
子テーブルなどのシーンでは、ctx.collection は関連先のコレクションを指す場合があります。通常のフォームやテーブルでは、一般的にブロックにバインドされたコレクションを指します。
filterTargetKey はコレクションの主キーフィールド名です。一部のコレクションでは string[] 型の複合主キーになる場合があります。設定されていない場合は、一般的に 'id' がフォールバックとして使用されます。ctx.collection は関連先のコレクションを指すことがあり、ctx.blockModel.collection とは異なる場合があります。getFields() は継承されたコレクションのフィールドをマージします。自身のフィールドは、同名の継承フィールドを上書きします。collection を含む)collection を含む場合がある)