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

ctx.value を読み取って出力がレンダリングされます。ctx.getValue()/ctx.setValue(v) とコンテナイベント js-field:value-change を提供することで、フォームの値との双方向同期を容易にします。読み取り専用タイプ
編集可能タイプ
JS フィールドのランタイムコードは、以下のコンテキスト機能を直接利用できます。
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:JSX レンダリングと時間処理のための、React、ReactDOM、Ant Design、Ant Design アイコン、dayjs などの組み込み汎用ライブラリです。(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 フィールドのスクリプトエディタは、シンタックスハイライト、エラーヒント、および組み込みコードスニペット(Snippets)に対応しています。
Snippets:組み込みコードスニペットのリストを開き、検索して現在のカーソル位置にワンクリックで挿入できます。Run:現在のコードを直接実行します。実行ログは下部の Logs パネルに出力され、console.log/info/warn/error やエラーのハイライト表示による位置特定に対応しています。
AI 従業員と連携してコードを生成することもできます。
if (!lib) return;)を用意してください。class または [name=...] を優先的に使用し、固定 id の使用は避けてください。これにより、複数のブロックやポップアップでの id の重複を防ぎます。