Cómo trabajar con Componentes Personalizados
Problema 1 Depende (puedes extender otros tipos), pero esa es la base para todos los componentesProblema 2 Aquí deberías señalar solo los problemas relacionados con la biblioteca central y no con sus pluginsProblema 3 Por favor, lee atentamente este https://grapesjs.com/docs/modules/Components.html
Lee la respuesta completa abajo ↓Pregunta
Hola,
Tengo algunas preguntas y problemas sobre y con el editor de uvas
Problema 1
En un componente, ¿qué clase se extiende? ¿Es realmente esta [https://github.com/artf/grapesjs/blob/dev/src/dom_components/model/Component.js) clase?
Problema 2
He creado un codesandbox que muestra los problemas que tengo actualmente. Está orientado al plugin mjml
Pasos para reproducirse
- Arrastrar el bloque de botones al editor
- Asegurarse de que no haya clases
- Modificar el ancho
- El tamaño no cambia
- Recargar la página
- El tamaño ahora se aplica porque se ha añadido una clase
- Ahora, cuando hay una clase, las modificaciones de ancho se muestran en directo.
- Recargar la página
- Se añadió otra clase.
Esto no se comporta así si el nombre de la clase se establece manualmente. El nombre de la clase configurado manualmente siempre está preseleccionado. Aún no sé si esto viene de mi código desordenado, de un error o si esto es intencionado.
Problema 3
Sigue en el codesandbox
Si el modelo se extiende respecto al modelo del problema 1, entonces parece que todas las propiedades se ignoran. Estoy seguro de que hay algo mal en mi código. ¿Pero qué podría hacer que el editor se altere por eso?
Gracias de antemano por cualquier ayuda y que tengáis un buen día :)
Respuestas (3)
Problema 1
Depende (puedes extender otros tipos), pero esa es la base para todos los componentes
Problema 2
Aquí deberías señalar solo los problemas relacionados con la biblioteca central y no con sus plugins
Problema 3
Por favor, lee atentamente este https://grapesjs.com/docs/modules/Components.html
Por favor, lea atentamente este https://grapesjs.com/docs/modules/Components.html
Sí, se me olvidó una frase importante 'defaults: { ... defaultModel.prototype.defaults, ... Utilería } '
Aquí deberías señalar solo los problemas relacionados con la biblioteca central y no sus plugins
Bueno, eso no era realmente un problema con el plugin mjml. Estaba buscando 'editor.getConfig().forceClass = false'
Ahora se comporta casi como debería. Excepto por el indicador de redimensionamiento parpadeante. Pero ese es otro tema.
¿Cuáles son los pasos para importar un componente personalizado?
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #774
Imita el comportamiento de un custom RTE al analizar contenido
Hola @artf, Me gustaría replicar este comportamiento al llamar a 'editor.setComponents("<div>Esto es un componente de texto. <span style='f...
Issue #2204
[Característica] callback personalizado de procesador para componentes generados desde Vue
¡Hola! Recientemente me encontré con esta nueva función increíble introducida aquí Aquí puedes hacer algo de procesamiento del elemento gen...
Issue #3596
No se escapan los valores
El código GrapesJS está abierto a problemas con XSS porque los valores se insertan en el DOM sin escapar, por ejemplo, https://github.com/a...
Issue #3119
[PREGUNTA] ¿Cómo crear un bloque personalizado hecho con componentes de grapesjs?
Hola, quiero que me hagan bloques personalizados con componentes de grapesjs. Encontré la solución para añadir componentes: https://github....
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 →Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.