Issue #709💬 RespondidoAbierto el 4 de enero de 2018por NicholasGatiReacciones 0

IsComponent no está devolviendo el rasgo

Respuesta rápidapor artf

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)

artf4 de enero de 2018

Hola Nicholas, ¿estás definiendo 'selectReference' dentro de un plugin?

NicholasGati4 de enero de 2018

Hola Artur. Sí, está dentro de un plugin.

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.