このドキュメントはAIによって翻訳されました。正確な情報については英語版をご参照ください。
現在の RunJS 実行コンテキストが配置されている FlowModel インスタンスであり、JSBlock、JSField、JSAction などのシナリオにおけるデフォルトのエントリポイントです。具体的な型はコンテキストに応じて変化し、BlockModel、ActionModel、JSEditableFieldModel などのサブクラスになる可能性があります。
| シナリオ | 説明 |
|---|---|
| JSBlock | ctx.model は現在のブロックモデルです。resource、collection、setProps などにアクセスできます。 |
| JSField / JSItem / JSColumn | ctx.model はフィールドモデルです。setProps、dispatchEvent などにアクセスできます。 |
| 操作イベント / ActionModel | ctx.model はアクションモデルです。ステップパラメータの読み書きやイベントのディスパッチなどが可能です。 |
ヒント:現在の JS を保持している親ブロック(フォームやテーブルブロックなど)にアクセスする必要がある場合は
ctx.blockModelを使用し、他のモデルにアクセスする場合はctx.getModel(uid)を使用します。
FlowModel は基底クラスであり、実際の実行時はさまざまなサブクラス(BlockModel、FormBlockModel、TableBlockModel、JSEditableFieldModel、ActionModel など)のインスタンスとなります。利用可能なプロパティやメソッドは型によって異なります。
| プロパティ | 型 | 説明 |
|---|---|---|
uid | string | モデルの一意識別子。ctx.getModel(uid) やポップアップの UID バインドに使用できます。 |
collection | Collection | 現在のモデルにバインドされているコレクション(ブロックやフィールドがデータにバインドされている場合に存在します)。 |
resource | Resource | 関連付けられたリソースインスタンス。リフレッシュや選択行の取得などに使用されます。 |
props | object | モデルの UI/動作設定。setProps を使用して更新できます。 |
subModels | Record<string, FlowModel> | 子モデルの集合(フォーム内のフィールド、テーブル内の列など)。 |
parent | FlowModel | 親モデル(存在する場合)。 |
| メソッド | 説明 |
|---|---|
setProps(partialProps: any): void | モデルの設定を更新し、再レンダリングをトリガーします(例:ctx.model.setProps({ loading: true }))。 |
dispatchEvent(eventName: string, payload?: any, options?: any): Promise<any[]> | モデルにイベントをディスパッチし、そのモデル上で設定された、そのイベント名をリッスンするワークフローをトリガーします。オプションの payload はワークフローのハンドラーに渡されます。options.debounce でデバウンスを有効にできます。 |
getStepParams?.(flowKey, stepKey) | 設定フローのステップパラメータを読み取ります(設定パネルやカスタムアクションなどのシナリオで使用)。 |
setStepParams?.(flowKey, stepKey, params) | 設定フローのステップパラメータを書き込みます。 |
| ニーズ | 推奨される使い方 |
|---|---|
| 現在の実行コンテキストのモデル | ctx.model |
| 現在の JS の親ブロック | ctx.blockModel。resource、form、collection へのアクセスによく使用されます。 |
| UID で任意のモデルを取得 | ctx.getModel(uid) または ctx.getModel(uid, true)(ビュースタックを横断して検索)。 |
JSField 内では、ctx.model はフィールドモデルであり、ctx.blockModel はそのフィールドを保持するフォーム/テーブルブロックです。