AI翻訳通知
このドキュメントはAIによって翻訳されました。正確な情報については英語版をご参照ください。
ctx.blockModel
現在の JS フィールド / JS ブロックが配置されている親ブロックモデル(BlockModel インスタンス)です。JSField、JSItem、JSColumn などのシナリオでは、ctx.blockModel は現在の JS ロジックを保持しているフォームブロックまたはテーブルブロックを指します。独立した JSBlock では、null になるか、ctx.model と同じになる場合があります。
適用シーン
注意:
ctx.blockModelは親ブロックが存在する RunJS コンテキストでのみ利用可能です。親のフォーム/テーブルがない独立した JSBlock ではnullになる可能性があるため、使用前に空値チェックを行うことを推奨します。
型定義
具体的な型は親ブロックのタイプに依存します。フォームブロックの場合は多くが FormBlockModel や EditFormModel であり、テーブルブロックの場合は多くが TableBlockModel です。
主要なプロパティ
ctx.model、ctx.form との関係
JSField において、ctx.model はフィールドモデルであり、ctx.blockModel はそのフィールドを保持するフォームまたはテーブルブロックです。ctx.form は通常 ctx.blockModel.form を指します。
例
テーブル:選択された行を取得して処理する
フォーム:バリデーションとリフレッシュ
フォームの変化 を監視する
ブロックの再レンダリングをトリガーする
注意事項
- 独立した JSBlock(親のフォーム/テーブルブロックがない場合)では、
ctx.blockModelはnullになる可能性があります。プロパティにアクセスする際は、オプショナルチェーン(ctx.blockModel?.resource?.refresh?.())の使用を推奨します。 - JSField / JSItem / JSColumn では、
ctx.blockModelは現在のフィールドを保持するフォームまたはテーブルブロックを指します。JSBlock では、実際の階層に応じて自身または上位のブロックを指す場合があります。 resourceはデータブロックにのみ存在し、formはフォーム ブロックにのみ存在します。テーブルブロックには通常formはありません。
関連情報
- ctx.model:現在の実行コンテキストにおけるモデル
- ctx.form:フォームインスタンス(フォームブロック内で多用)
- ctx.resource:リソースインスタンス(
ctx.blockModel?.resourceと等価、存在する場合は直接利用可能) - ctx.getModel():uid を指定して他のブロックモデルを取得

