Cómo añadir rasgos dinámicamente basándose en la selección desplegable
He probado esto debajo del código y está añadiendo el array de rasgos. Pero no reflejado en el editor. domComps.getType('linking').model.prototype.defaults.traits.push({ nombre: 'producto' })
Lee la respuesta completa abajo ↓Pregunta
Hola @artf, Tengo un componente personalizado con rasgos personalizados. Cuando selecciono la opción en el desplegable, hay que añadir más campos según la selección. ¿Cómo lo hago?
**Desplegable**
! [antes](https://user-images.githubusercontent.com/19382262/58178404-c52c6a00-7cc3-11e9-8a70-e00e45ed71ee.jpg)
**Campos extra**
! [después](https://user-images.githubusercontent.com/19382262/58178909-b5615580-7cc4-11e9-968e-d5b35781c39f.jpg)
El código está abajo, he añadido el oyente pero no aparece la opción de añadir nuevos campos a la configuración actual de rasgos.
DomComps.addType('linking', {
model: CustomType.model.extend({
init() {
this.listenTo(this, 'change:link-type', function() {
alerta();
});
},
por defecto: Object.assign({}, CustomType.model.prototype.defaults, {
rasgos: [{
etiqueta: 'Título',
Nombre: 'Título',
Provisional: 'Título'
}, {
tipo: 'select',
etiqueta: 'Tipo',
Nombre: 'tipo enlace',
Opciones: [
{ valor: 'enlace', nombre: 'Enlace' },
{ valor: 'popup', nombre: 'Popup' },
],
cambioprop: 1
}, {
etiqueta: 'Enlace',
Nombre: 'Data-link',
marcador de posición: 'Enlace'
}, {
etiqueta: 'Tracking',
Nombre: 'Data-Track',
marcador de posición: 'Tracking ID'
}],
}),
}),
view: CustomType.view.extend({
eventos: {
},
}),
});Respuestas (2)
He probado esto debajo del código y está añadiendo el array de rasgos. Pero no reflejado en el editor.
domComps.getType('linking').model.prototype.defaults.traits.push({ nombre: 'producto' })
Encontré la solución con el código más reciente.
this.addTrait({ type: 'checkbox', nombre: 'muted' })
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #2034
[PREGUNTAS] ¿Cómo eliminar campos de rasgos de forma dinámica?
Hola @artf, Tengo un desplegable con pocas opciones. Según la selección, los campos se generan usando addTrait. De forma similar, ¿existe a...
Issue #3213
Cómo guardar los rasgos añadidos dinámicamente
Hola @artf, tengo un componente personalizado que tiene un rasgo de botón. Cuando se pulsa el botón, añado dinámicamente un rasgo personali...
Issue #1870
[PREGUNTAS] establecer data-gjs-type en la etiqueta i (Por qué el componente no funciona)
Cuando añado bloque (etiqueta i), el tipo de data-gjs es "I" (no hay problema con el rasgo que creé) ! screenshot5 Tengo un rasgo ! screens...
Issue #2583
Los puntos de interrupción no coinciden con la consulta de medios en el lienzo
¡Hola @artf Tengo varios puntos de ruptura ! imagen El problema es que cuando tengo una resolución (configurada usando los iconos) como 411...
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.