Añadir un desplegable para bloquear usando Rasgos
No estoy seguro de si se puede cambiar el bloque una vez que lo añades... Quizá deberías tener clases para añadir a los bloques, que puedas cambiar el color, tamaño o algo así. Puedes echar un vistazo al compositor CSS para ello. https://grapesjs.com/docs/api/css_composer.html#add
Lee la respuesta completa abajo ↓Pregunta
Hola @artf,
Espero que estés bien,
Me preguntaba si podríais ayudarme con algún problema sencillo que estoy teniendo (recientemente he empezado a usar GrapeJS.
Problema: usando un plugin crea un bloque y dentro de la sección de rasgos hay un desplegable que cambia el tipo de bloque que se muestra.
Aquí está mi código actual de plugins que muestra dos bloques:
function myPlugin(editor){
editor. BlockManager.add('my-first-block', {
etiqueta: 'Bloque simple',
contenido: '<div class="my-block">Este es un bloque simple</div>',
categoría: 'Apple'
})
editor. BlockManager.add('my-second-block', {
etiqueta: 'segunda cuadra',
contenido: '<div class="my-block">Este es un bloque simple</div>',
categoría: 'Apple'
});
}
Me gustaría que apareciera un desplegable en la pestaña de configuración (rasgos) donde pueda seleccionar otras opciones de contenido, por ejemplo:
Bloque simple ------------> Rojo ------------> Naranja ------------> Amarillo
Y luego cambiar el contenido en consecuencia de la siguiente manera:
Red: content: ''<div class="my-block">Este es un simple bloque rojo</div>',' Naranja: contenido: ''<div class="mi-bloque">Este es un simple bloque naranja</div>',' Amarillo: content: ''<div class="my-block">Este es un simple bloque amarillo</div>', ` Un cordial cordial Aiyush
Respuestas (3)
No estoy seguro de si se puede cambiar el bloque una vez que lo añades... Quizá deberías tener clases para añadir a los bloques, que puedas cambiar el color, tamaño o algo así.
Puedes echar un vistazo al compositor CSS para ello.
@Aiyush-G creo que deberías crear un componente personalizado con ese rasgo que luego cambie el contenido, el bloque en sí solo contendría ese componente '''js editor. BlockManager.add('my-first-block', { etiqueta: 'Bloque simple', content: { type: 'your-custom-component', yourProp: 'red' }, categoría: 'Apple' }); editor. BlockManager.add('my-second-block', { etiqueta: 'Segunda cuadra', content: { type: 'your-custom-component', yourProp: 'orange' }, categoría: 'Apple' });
Hola, sí, esto es lo que estaba pensando, ¿te importaría hacer un ejemplo para mí que cambie el contenido html? Por ejemplo, elegir rojo muestra tu rojo elegido como <p> etiqueta y si eliges naranja eso muestra que elegiste naranja y un <p>
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #544
Añadir select con optgroup
Hola @artf Recientemente he empezado a usar grapeJs y me ha parecido genial. ¿Podrías ayudarme con cómo puedo añadir un desplegable (select...
Issue #2647
El marcador de arrastre no calcula el ancho correcto.
Hola @artf, espero que estéis teniendo un buen día. Hay un pequeño problema con el marcador de arrastre cuando un bloque se arrastra hacia...
Issue #951
[PREGUNTA] La selección de componentes personalizados no es posible desde el lienzo.
Hola, Intenté averiguarlo por mi cuenta, pero siento que estoy dando vueltas un poco en círculos. Así que espero que tengáis tiempo para le...
Issue #3699
El flotamiento de la celda desplaza aleatoriamente a la celda real
¡Hola! Estoy usando grapesJs para editar correos electrónicos en un proyecto de mi empresa, con el plugin Newsletter. Todo funciona muy bie...
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.