Issue #1155💬 RespondidoAbierto el 1 de junio de 2018por grizzm0Reacciones 1

Componente personalizado usado como HTML en bloque

Respuesta rápidapor artf1

'el.tagName === 'IMG''

Lee la respuesta completa abajo ↓

Pregunta

He ampliado el componente de imagen por defecto '''js Export default (editor) => { const domComponents = editor. DomComponents; const imageType = domComponents.getType('image');

domComponents.addType('image-extended', { model: imageType.model.extend({ defaults: Object.assign({}, imageType.model.prototype.defaults, { nombre: 'Imagen extendida', }) }, { isComponent(el) { si (el.tagName === 'img' && el.classList && el.classList.contains('img-extended')) { return {type: 'image-extended'}; } } }), ver: imageType.view }); };


Luego tengo un bloque donde voy a usar la imagen extendida. Lo siguiente funciona bien.
'''js
Export default (editor) => {
  Sea bm = editor. Jefe de bloque;

bm.add('ImageExtended').set({
    etiqueta: 'Imagen extendida',
    categoría: 'Diseño',
    Atributos: {Clase: 'FA FA-Imagen'},
    Contenido: {
      Tipo: 'Imagen extendida',
      Clases: ['IMG-Extendido'],
    },
  });
};

Sin embargo, este bloque contendrá HTML anidado (una especie de tarjeta) y uno de los hijos debe ser este componente de imagen personalizado. Usando lo siguiente, el elemento img no se reconoce como mi componente de imagen personalizada. '''js Export default (editor) => { Sea bm = editor. Jefe de bloque;

bm.add('Card').set({ etiqueta: 'Tarjeta', categoría: 'Diseño', Atributos: {Clase: 'FA FA-Imagen'}, Contenido: '<div class="card"><img class="img-extended"></div>', }); };

Respuestas (2)

artf5 de junio de 2018

'el.tagName === 'IMG''

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