¿Cómo cambiar el contenido de componentes personalizados (html) de AJAX?
El método 'components()' es la forma de cambiar el contenido interno 'editor.getSelected().components('<div>Nuevo contenido interno</div>');' pero ten cuidado de que con 'editor.getSelected().toHTML()' estés obteniendo el contenido externo (con su etiqueta component)
Lee la respuesta completa abajo ↓Pregunta
Hola @artf,
Antes que nada, gracias por este increíble plugin.
¿Podríais decirme cómo puedo actualizar o cambiar el contenido de bloqueo?
Creé bloque + componente personalizados. '<table><tr><td class="some-class">text_to_replace</td></tr></table>'
El componente tiene un nuevo botón de barra de herramientas (icono de búsqueda en la captura adjunta) y al hacer clic obtengo información nueva como product_name, etc.
Así que obtengo HTML de bloque actual, hago todo lo que hago...
block_html = editor.getSelected().toHTML();
new_html = block_html.replace(.....);
¿Cómo puedo actualizar el html de bloques seleccionados a texto nuevo? Algo así como 'editor.getSelected().setHTML(new_html);'
Si intento cambiar de modelo
components.addType('product', {
model: default_model.extend({
defaults: Object.assign({}, default_model.prototype.defaults, {
barra de herramientas: [.......],
.....
}),
setProductInfo(json) {
console.log(json);
this.set('style', {color: '#ff0000'}); <=== el color cambia a rojo
¿Cómo cambiar el contenido en lugar del color?
}
}
El código de bloque se ve así:
smc_block_manager.add('product-block', {
etiqueta: 'Producto - Principal',
Categoría: block_category_product,
atributos: {
Clase: 'FA FA-TAG'
},
Contenido: {
Tipo: 'producto',
Componentes: product_item,
activeOnRender: 1
}
});
También lo intenté
editor.getSelected().components('nuevo HTML aquí');
Pero parece que se ha añadido un componente nuevo dentro del componente antiguo.
Gracias
! GJS
Respuestas (2)
El método 'components()' es la forma de cambiar el contenido interno 'editor.getSelected().components('<div>Nuevo contenido interno</div>');' pero ten cuidado de que con 'editor.getSelected().toHTML()' estés obteniendo el contenido externo (con su etiqueta component)
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.
Issue #1537
Componente duplicado, no estilo
Hola, Antes que nada, muchas gracias por el trabajo increíble ❤️ !! Tengo una pregunta sobre la herramienta de duplicación, así que aquí es...
Issue #428
Cambiar el fondo del cuerpo
Hola, Antes que nada, quiero daros las gracias por este proyecto increíble! Tengo algunas preguntas sobre el editor, y más concretamente so...
Issue #1709
[PREGUNTA] ¿Es posible afectar el estilismo de los componentes hijos a través del gestor de estilos del componente padre?
¡Hola! Proyecto increíble y gracias por tu aportación. Me gustaría saber si es posible cambiar el estilo de un componente hijo a través del...
Issue #444
¿Cómo cargar el enlace CSS en la etiqueta de cabeza?
Hola, Antes que nada, gracias por aportar un framework de js tan increíble. Soy muy nuevo en Grapesjs. Y también github. https://github.com...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
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 →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.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.