IsComponent no está devolviendo el rasgo
Hola Nicholas, ¿estás definiendo 'selectReference' dentro de un plugin?
Lee la respuesta completa abajo ↓Pregunta
¡Feliz año nuevo! Estoy teniendo un problema con 'isComponent()'. Aquí está mi código:
registro const = MSG = > console.log(MSG);
comps.addType('selectReference', {
model: defaultModel.extend(
{
defaults: Object.assign({}, defaultModel.prototype.defaults, {
Rasgos: [
{
cambioProp: cierto,
tipo: 'select',
etiqueta: 'Referencia',
nombre: 'selectReference',
Opciones: [] // Empiezan vacíos y añaden dinámicamente al array
}
]
}),
init: function() {
this.listenTo(this, 'change:selectReference', this.selectSlideSection);
},
selectSlideSection: function(e) {
const referencedSlideSectionId = e.changed['selectReference'];
const currentSlideSectionId = e.attributes['section-id'];
si (actualSlideSectionId != indefinido && currentSlideSectionId != '') {
Enviar a Ajax función que guarda referencia
saveSlideSectionReference(actualSlideSectionId, referencedSlideSectionId);
} else {
log(referidoSlideSectionId);
}
}
},
{
isComponent: function(el) {
const allowedToHaveReferences= ['type1', 'type2', 'type3'];
if (el.tagName == 'SECTION' && allowedToHaveReferences.indexOf(el.id) > -1) {
tronco ('dentro');
return { type: 'selectReference' };
}
}
}),
view: defaultType.view.extend({
render: function() {
defaultType.view.prototype.render.apply(esto, argumentos);
devuelvo esto;
}
})
});
Por alguna razón, la única vez que el rasgo aparece en la configuración de componentes es cuando elimino completamente la sentencia if-de de 'isComponent()' y simplemente devuelvo '{ type: 'selectReference' }'. Sin embargo, entonces se convierte en un rasgo de todo. He comprobado los valores de 'el.tagName' y son lo que espero. También me he asegurado de tener los valores 'el.id' correctos. Incluso he comprobado la sentencia if y efectivamente pasa correctamente por la instrucción if y registra la salida. Así que no entiendo por qué el rasgo no se está devolviendo. Por favor, ayudadme. ¡Gracias!
Respuestas (3)
Hola Nicholas, ¿estás definiendo 'selectReference' dentro de un plugin?
Hola Artur. Sí, está dentro de un plugin.
He probado tu código aquí https://jsfiddle.net/vv7sch2u/ y parece funcionar correctamente
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #1891
No se puede crear un nuevo componente de botón
Me está costando crear un nuevo componente para un <button> elemento. ¿Qué me estoy perdiendo? ¿Hay algún fallo aquí? Funciona bien si lo c...
Issue #738
La imagen volvió al tamaño original tras redimensionarse
Hola, tengo un problema extraño con el componente: Tengo 2 tipos: imagen e icono '''js domComponents.addType('icon', { model: imageModel.ex...
Issue #1959
[Pregunta] Editar innerHTML en un botón personalizado
Hola a todos, Estoy intentando cambiar el texto en un componente de botón, pero no consigo editarlo. He añadido este tipo: Incluí el paráme...
Issue #413
Usar rasgo para modificar la clase de componentes
¡Hola! Estoy intentando cambiar el valor de las clases con muy poco éxito. Aquí está la función 'onValueChange' de mi rasgo personalizado:...
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.