Issue #897💬 RespondidoAbierto el 24 de febrero de 2018por konstantin55000Reacciones 1

Cómo hacerlo: encontrar algún componente en Canvas, en el evento "component:add"

Respuesta rápidapor konstantin550001

Gracias por vuestra atención. Acabo de leer el documento. Y acabé con esta solución: editor.on('component:add', function(currentComp) { if (currentComp.attributes.tagName == "form"){ var modelList = (domComps.getComponents()).models; var presentForms = modelList.filter(function(component) { return component.attributes...

Lee la respuesta completa abajo ↓

Pregunta

Hola a todos, Supongamos que he añadido <form> bloqueo en el lienzo. Cuando añado el siguiente <form> (segunda vez), Necesito comprobar: si este componente ya está presente en el lienzo, función llamada implodeComponents(presentedComp, recentlyAddedComp){}

Pero, en event editor.on('component:add'... Solo puedo trabajar con componentes añadidos recientemente. La pregunta es: cómo recorrer todos los componentes en el lienzo para encontrar un componente especial (ejemplo<form>) Por favor, mira http://prntscr.com/ij8c82 Gracias por la ayuda.

Respuestas (3)

konstantin5500024 de febrero de 2018
Fragmento de códigoTEXT
Gracias por vuestra atención. 
Acabo de leer el documento.
Y acabé con esta solución:

editor.on('component:add', function(currentComp) {  
 
if (currentComp.attributes.tagName == "form"){

var modelList = (domComps.getComponents()).models;            
            var presentForms = modelList.filter(function(component) {
              return component.attributes.tagName == "form";
            }); 
            
si (presentForms.length > 1){
                console.log("los lienzos tienen > 2 formas");
                implodeComponents(currentComp, presentForms);
            }
        }
	});
ionic66611 de junio de 2018

@konstantin55000 hola, tío, domComps.getComponents() está consiguiendo todos los modelos, yo solo quiero conseguir el botón. ¿Cómo lo hago? Gracias

lock[bot]17 de septiembre de 2019

Este hilo se ha bloqueado automáticamente porque no ha habido actividad reciente desde que se cerró. Por favor, abre un nuevo problema para bugs relacionados.

Preguntas y respuestas relacionadas

Continúa investigando con debates sobre temas similares.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.

Explora plugins gratuitos →
Opción premium

Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.

Explora plugins premium →

Tutoriales relacionados

Guías detalladas sobre el mismo tema.

Todos los tutoriales →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.