ctx.element
Menunjuk ke instance ElementProxy dari container DOM sandbox, sebagai target render default dari ctx.render(). Tersedia pada skenario yang memiliki container render seperti JSBlock, JSField, JSItem, JSColumn.
Skenario Penggunaan
Perhatian:
ctx.elementhanya tersedia pada konteks RunJS yang memiliki container render; pada skenario tanpa konteks UI (seperti logika pure backend) mungkinundefined, disarankan melakukan pengecekan null sebelum digunakan.
Definisi Tipe
Persyaratan Keamanan
Direkomendasikan: semua render diselesaikan melalui ctx.render(). Jangan langsung menggunakan API DOM dari ctx.element (seperti innerHTML, appendChild, querySelector, dll.).
Mengapa Direkomendasikan ctx.render()
Tidak Direkomendasikan: Operasi Langsung pada ctx.element
ctx.element.innerHTMLsudah deprecated, gunakanctx.render()sebagai gantinya.
Direkomendasikan: Menggunakan ctx.render()
Kasus Khusus: Sebagai Anchor Popup
Saat perlu menggunakan elemen saat ini sebagai anchor untuk membuka Popover, Anda dapat mengakses ctx.element?.__el untuk mendapatkan DOM native sebagai target:
Hanya gunakan
__elpada skenario "menggunakan container saat ini sebagai anchor" seperti ini; pada kasus lain jangan langsung mengoperasikan DOM.
Hubungan dengan ctx.render
ctx.render(vnode)jika tidak meneruskancontainer, secara default merender ke containerctx.element- Jika
ctx.elementjuga tidak ada dancontainertidak diteruskan, akan melempar error - Dapat menentukan container secara eksplisit:
ctx.render(vnode, customContainer)
Hal yang Perlu Diperhatikan
ctx.elementhanya digunakan sebagai container internalctx.render(), tidak disarankan untuk diakses atau dimodifikasi langsung properti/methodnya- Pada konteks tanpa container render
ctx.elementadalahundefined, sebelum memanggilctx.render()perlu memastikan container tersedia atau meneruskancontainersecara manual innerHTML/outerHTMLElementProxy meskipun dibersihkan oleh DOMPurify, tetap direkomendasikan menggunakanctx.render()untuk pengelolaan render terpadu
Terkait
- ctx.render: Merender konten ke container
- ctx.view: Controller view saat ini
- ctx.modal: API cepat modal

