Issue #413💬 RespondidoAbierto el 12 de octubre de 2017por FrikkieSnymanReacciones 0

Usar rasgo para modificar la clase de componentes

Respuesta rápidapor FrikkieSnyman

@artf ¿Esto es siquiera posible?

Lee la respuesta completa abajo ↓

Pregunta

¡Hola!

Estoy intentando cambiar el valor de las clases con muy poco éxito.

Aquí está la función 'onValueChange' de mi rasgo personalizado: '''JavaScript onValueChange() {
var traitModel = this.model; var selectedComponent = this.target; var inputValue = traitModel.get('value');
this.target.set('content', this.model.get('value')); selectedComponent.set('attributes', {class: inputValue}); }


Lo que da como resultado una salida HTML de:

'''HTML
<input class="input txt-red" class="col-lg-6"/>

Obviamente, esto no es HTML legal. También produce resultados extraños al añadir o eliminar una clase en la entrada de Clases.

¿Cuál es la forma correcta de hacerlo?

Respuestas (3)

FrikkieSnyman13 de octubre de 2017

@artf ¿Esto es siquiera posible?

FrikkieSnyman16 de octubre de 2017

Así que lo he solucionado, de una forma bastante improvisada, ¡pero funciona!

Solo tienes que crear un rasgo personalizado y usar lo siguiente para el onValueChange()

'''JavaScript onValueChange() { var parentModel = this.target.collection.parent.sm; var component = this.target; const sm = parentModel.get('SelectorManager'); var traitModel = this.model; var selectedComponent = this.target; var label = traitModel.get('value'); var compCls = component.get('classes'); compCls.forEach(element => { if (element.id == this.model._previousAttributes.value) { compCls.remove(element); } }); si (etiqueta) { var classModel = sm.add({label}); compCls.add(ModelClase); parentModel.trigger('targetClassAdded'); } }

lock[bot]18 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.