このドキュメントはAIによって翻訳されました。正確な情報については英語版をご参照ください。
JS Field は、フィールドの位置で JavaScript を使用してコンテンツをカスタムレンダリングするために使用されます。詳細ブロック、フォームの読み取り専用項目、またはテーブル列の「その他のカスタム項目」などでよく見られます。パーソナライズされた表示、派生情報の組み合わせ、ステータスバッジ、リッチテキスト、またはチャートなどのレンダリングに適しています。

ctx.value を読み取って出力をレンダリングします。ctx.getValue() / ctx.setValue(v) とコンテナイベント js-field:value-change を提供し、フォーム値との双方向同期を容易にします。読み取り専用型
編集可能型
JS Field のランタイムコードは、以下のコンテキスト機能を直接使用できます。
ctx.element:フィールドの DOM コンテナ(ElementProxy)。innerHTML、querySelector、addEventListener などをサポートしています。ctx.value:現在のフィールド値(読み取り専用)。ctx.record:現在のレコードオブジェクト(読み取り専用)。ctx.collection:フィールドが属するコレクションのメタ情報(読み取り専用)。ctx.requireAsync(url):URL に基づいて AMD/UMD ライブラリを非同期でロードします。ctx.importAsync(url):URL に基づいて ESM モジュールを動的にインポートします。ctx.openView(options):設定済みのビュー(ポップアップ/ドロワー/ページ)を開きます。ctx.i18n.t() / ctx.t():国際化。ctx.onRefReady(ctx.ref, cb):コンテナの準備が整ってからレンダリングします。ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs / ctx.libs.lodash / ctx.libs.math / ctx.libs.formula:組み込みの React / ReactDOM / Ant Design / Ant Design アイコン / dayjs / lodash / math.js / formula.js などの共通ライブラリで、JSX のレンダリング、時間処理、データ操作、数学演算に使用されます。(ctx.React / ctx.ReactDOM / ctx.antd は互換性のために引き続き保持されます。)ctx.render(vnode):React 要素、HTML 文字列、または DOM ノードをデフォルトコンテナ ctx.element にレンダリングします。繰り返しレンダリングすると Root が再利用され、コンテナの既存のコンテンツが上書きされます。編集可能型(JSEditableField)特有の機能:
ctx.getValue():現在のフォーム値を取得します(フォームの状態を優先し、次にフィールドの props にフォールバックします)。ctx.setValue(v):フォーム値とフィールドの props を設定し、双方向同期を維持します。js-field:value-change:外部の値が変化したときにトリガーされ、スクリプトが入力表示を更新しやすくなります。JS Field のスクリプトエディタは、構文ハイライト、エラーヒント、および組み込みコードスニペット(Snippets)をサポートしています。
Snippets:組み込みコードスニペットのリストを開き、検索して現在のカーソル位置にワンクリックで挿入できます。Run:現在のコードを直接実行します。実行ログは下部の Logs パネルに出力され、console.log/info/warn/error とエラーのハイライト表示による位置特定をサポートしています。
AI 従業員と連携してコードを生成することもできます:
if (!lib) return;)を用意してください。class または [name=...] を優先的に使用し、固定 id の使用は避けてください。これにより、複数のブロックやポップアップでの id の重複を防ぎます。