Este documento ha sido traducido por IA. Para información precisa, consulte la versión en inglés.
ctx.element
Una instancia de ElementProxy que apunta al contenedor DOM del sandbox, sirviendo como el objetivo de renderizado predeterminado para ctx.render(). Está disponible en escenarios donde existe un contenedor de renderizado, como JSBlock, JSField, JSItem y JSColumn.
Escenarios de aplicación
Nota:
ctx.elementsolo está disponible en contextos de RunJS que tienen un contenedor de renderizado. En contextos sin interfaz de usuario (como lógica puramente de backend), puede serundefined. Se recomienda realizar una comprobación de valores nulos antes de su uso.
Definición de tipo
Requisitos de seguridad
Recomendado: Todo el renderizado debe realizarse a través de ctx.render(). Evite usar las API de DOM de ctx.element directamente (por ejemplo, innerHTML, appendChild, querySelector, etc.).
Por qué se recomienda ctx.render()
❌ No recomendado: Manipulación directa de ctx.element
ctx.element.innerHTMLestá obsoleto. Por favor, utilicectx.render()en su lugar.
✅ Recomendado: Uso de ctx.render()
Caso especial: Como anclaje de Popover
Cuando necesite abrir un Popover utilizando el elemento actual como anclaje, puede acceder a ctx.element?.__el para obtener el DOM original como target:
Use
__elsolo en escenarios como "usar el contenedor actual como anclaje"; no manipule el DOM directamente en otros casos.
Relación con ctx.render
- Si se llama a
ctx.render(vnode)sin un argumentocontainer, se renderiza en el contenedorctx.elementpor defecto. - Si falta
ctx.elementy no se proporciona uncontainer, se lanzará un error. - Puede especificar explícitamente un contenedor:
ctx.render(vnode, customContainer).
Notas
ctx.elementestá destinado al uso interno dectx.render(). No se recomienda acceder o modificar directamente sus propiedades o métodos.- En contextos sin un contenedor de renderizado,
ctx.elementseráundefined. Asegúrese de que el contenedor esté disponible o pase uncontainermanualmente antes de llamar actx.render(). - Aunque
innerHTML/outerHTMLenElementProxyse sanean medianteDOMPurify, se sigue recomendando usarctx.render()para una gestión de renderizado unificada.
Relacionado
- ctx.render: Renderizar contenido en un contenedor
- ctx.view: Controlador de vista actual
- ctx.modal: API de acceso rápido para cuadros modales

