JS Item
Pengantar
JS Item digunakan untuk "item kustom" di Form (tidak terikat Field). Anda dapat menggunakan JavaScript/JSX untuk merender konten apa pun (prompt, statistik, preview, tombol, dll.), dan berinteraksi dengan Form, konteks record. Cocok untuk skenario seperti preview real-time, prompt penjelasan, komponen interaksi kecil, dll.

API Konteks Runtime (Umum)
ctx.element: container DOM item saat ini (ElementProxy), mendukunginnerHTML,querySelector,addEventListener, dll.;ctx.form: instance AntD Form, dapatgetFieldValue / getFieldsValue / setFieldsValue / validateFields, dll.;ctx.blockModel: model Block Form tempat berada, dapat listenformValuesChangeuntuk mengimplementasikan linkage;ctx.record/ctx.collection: record saat ini dan meta info collection (tersedia di beberapa skenario);ctx.requireAsync(url): load library AMD/UMD secara asynchronous berdasarkan URL;ctx.importAsync(url): import modul ESM secara dinamis berdasarkan URL;ctx.openView(viewUid, options): membuka view yang sudah dikonfigurasi (drawer/dialog/page);ctx.message/ctx.notification: prompt dan notifikasi global;ctx.t()/ctx.i18n.t(): internasionalisasi;ctx.onRefReady(ctx.ref, cb): render setelah container siap;ctx.libs.React/ctx.libs.ReactDOM/ctx.libs.antd/ctx.libs.antdIcons/ctx.libs.dayjs/ctx.libs.lodash/ctx.libs.math/ctx.libs.formula: library umum bawaan seperti React / ReactDOM / Ant Design / icon Ant Design / dayjs / lodash / math.js / formula.js, dll., digunakan untuk render JSX, pemrosesan waktu, operasi data, dan operasi matematika. (ctx.React/ctx.ReactDOM/ctx.antdmasih dipertahankan untuk kompatibilitas.)ctx.render(vnode): render React element/HTML/DOM ke container defaultctx.element; render berulang akan menggunakan kembali Root, dan menimpa konten container yang ada.
Editor dan Snippet
Snippets: Membuka daftar snippet kode bawaan, dapat dicari dan dengan satu klik menyisipkan ke posisi cursor saat ini.Run: Langsung menjalankan kode saat ini, dan output log eksekusi ke panelLogsdi bawah; mendukungconsole.log/info/warn/errordan highlight lokasi error.

- Dapat dikombinasikan dengan AI Employee untuk generate/modify script: AI Employee · Nathan: Frontend Engineer
Penggunaan Umum (Contoh Ringkas)
1) Preview Real-Time (Membaca Nilai Form)
2) Membuka View (Drawer)
3) Load Library Eksternal dan Render
Perhatian
- Disarankan menggunakan CDN terpercaya untuk load library eksternal, dan siapkan fallback untuk skenario kegagalan (seperti
if (!lib) return;). - Saran selector prioritaskan menggunakan
classatau[name=...], hindari menggunakanidtetap, untuk mencegah duplikasiiddi beberapa Block/Popup. - Pembersihan event: nilai Form sering berubah akan memicu render berulang, sebelum bind event harus melakukan pembersihan atau dedup (seperti
removedulu kemudianadd, atau{ once: true }, atau menggunakandatasettag untuk mencegah duplikasi).

