clonando componentes ExtJS usando JQuery
-
03-07-2019 - |
Pregunta
Estoy intentando clonar componentes de formulario utilizando .clone () de JQuery's (en realidad, estoy clonando una colección de campos clonando el elemento contenedor). Todo funcionó bien, excepto que el campo de fecha, los cuadros combinados no funcionan, incluso la validación de minLength, etc. tampoco funciona.
Por cierto, solo estoy transformando un antiguo campo de formulario html en campos de formulario ext js usando applyTo
Solución
El problema es que jQuery clone () no clona los controladores de eventos asociado a los elementos DOM. Pero incluso si usas clone (true), eso copia los controladores de eventos, todavía no funciona, porque usted también Necesito clonar el objeto Ext en el lado de JavaScript.
Realmente necesitas usar las herramientas provistas por Ext para crear muchos controles similares. Un buen comienzo es crear componentes Ext personalizados que luego puedes instanciar más fácilmente varias veces.
Otros consejos
Para empezar, puedes intentar usar
.clone(true)
para que todos los controladores de eventos para un elemento se copien. Aparte de eso, sospecho que Extjs hace otras cosas extravagantes cuando construye sus controles, por lo que este es probablemente el primer paso para que funcione. Mirando a mi alrededor rápidamente en los foros de extjs, no veo mucha información sobre la clonación de widgets.