AI翻訳通知
このドキュメントはAIによって翻訳されました。正確な情報については英語版をご参照ください。
ctx.getVar()
現在の実行コンテキストから変数の値を非同期で読み取ります。変数のソースは SQL やテンプレート内の {{ctx.xxx}} の解析ルールと一致しており、通常は現在のユーザー、現在のレコード、ビューのパラメータ、ポップアップのコンテキストなどから取得されます。
適用シーン
型定義
戻り値: Promise<any>。解析後の値を取得するには await を使用する必要があります。変数が存在しない場合は undefined を返します。
ctx.で始まらないパスを渡すと、エラーがスローされます:ctx.getVar(path) expects an expression starting with "ctx.", got: "..."。
よく使われる変数のパス
ctx.getVarInfos()
現在のコンテキストで解析可能な変数の構造情報(型、タイトル、子プロパティなど)を取得し、利用可能なパスを確認しやすくします。戻り値は meta に基づく静的な記述であり、実際の実行時の値は含まれません。
型定義
戻り値の各キーは変数のパスであり、値はそのパスに対応する構造情報(type、title、properties などを含む)です。
パラメータ
実行例
ctx.getValue との違い
JSフィールド内で自身のフィールドを読み書きする場合は getValue/setValue を使用し、他のコンテキスト変数(record、user、formValues など)にアクセスする場合は getVar を使用します。
注意事項
- パスは必ず
ctx.で始まる必要があります:ctx.record.idのように指定してください。そうでない場合はエラーがスローされます。 - 非同期メソッド: 結果を取得するには必ず
awaitを使用してください。例:const id = await ctx.getVar('ctx.record.id')。 - 変数が存在しな い場合:
undefinedを返します。結果に対して??を使用してデフォルト値を設定できます:(await ctx.getVar('ctx.user.nickname')) ?? 'ゲスト'。 - フォームの値:
ctx.formValuesはawait ctx.getVar('ctx.formValues')を通じて取得する必要があります。ctx.formValuesとして直接公開されているわけではありません。フォームのコンテキストでは、最新の値をリアルタイムで読み取るためにctx.form.getFieldsValue()を優先的に使用してください。
実行例
現在のレコード ID を取得する
ポップアップ内のレコードを取得する
配列フィールドのサブアイテムを読み取る
デフォルト値を設定する
フォームのフィールド値を読み取る
URL クエリパラメータを読み取る
利用可能な変数を探索する
関連情報
- ctx.getValue() - 現在のフィールド値を同期的に取得(JSフィールド/JSアイテムなど限定)
- ctx.form - フォームインスタンス。
ctx.form.getFieldsValue()でフォームの値をリアルタイムに読み取り可能 - ctx.model - 現在の実行コンテキストが属するモデル
- ctx.blockModel - 現在の JS が配置されている親ブロック
- ctx.resource - 現在のコンテキストにおけるリソースインスタンス
- SQL / テンプレート内の
{{ctx.xxx}}-ctx.getVar('ctx.xxx')と同じ解析ルールを使用します

