Index.d.ts dice que los componentes deben ser Backbone.Collection<Component>, pero la documentación indica que Component[] también es aceptado
Gracias por informar de esto, @froodian. Buena pregunta sobre index.d.ts dice que los componentes deben ser Backbone.Collection<Component> pero la documentación dice que Component[] también es aceptado. El enfoque recomendado con Componentes es utilizar la API orientada a eventos. Empieza aquí: Consulta la documentaci...
Lee la respuesta completa abajo ↓Pregunta
Versión GrapesJS
- Confirmo que se debe usar la última versión de GrapesJS
¿Qué navegador usas?
Cualquiera
Enlace de demo reproducible
https://grapesjs.com/docs/modules/Components.html#component-definition
Describe el bicho
¿Cómo reproducir el bicho?
- https://github.com/artf/grapesjs/blob/dev/index.d.ts#L2055 muestra los componentes como 'Backbone.Collection<Component>'
- https://grapesjs.com/docs/modules/Components.html#component-definition muestra un array de componentes proporcionados
¿Cuál es el comportamiento esperado?
Los ejemplos de implementación de JS funcionan más o menos en TypeScript (posiblemente añadiendo tipificación explícita)
¿Cuál es el comportamiento actual?
(propiedad) uvas. ComponentProperties.components?: Backbone.Collection<grapesjs.Component>
Tipo '({ tipo: cadena; nombre: cadena; atributos: { clase: cadena; }; componentes: { tipo: cadena; nombre: cadena; }[]; } | { tipo: cadena; nombre: cadena; componentes: { tipo: cadena; nombre: cadena; atributos: { clase: cadena; alt: cadena; }; }[]; } | { ...; } | { ...; })[]' carece de las siguientes propiedades del tipo 'Collection<Component>': modelos, añadir, eliminar, restablecer ts(2739)
index.d.ts(2055, 5): El tipo esperado proviene de la propiedad 'components' que se declara aquí en el tipo 'ComponentProperties'
¿Debería https://github.com/artf/grapesjs/blob/dev/index.d.ts#L2055 cambiar de
¿componentes?: Backbone.Collection<Component>;
a
¿componentes?: Component[] | Backbone.Collection<Component>;
?
Código de conducta
- Acepto seguir el Código de Conducta de este proyecto
Respuestas (1)
Gracias por informar de esto, @froodian.
Buena pregunta sobre index.d.ts dice que los componentes deben ser Backbone.Collection<Component> pero la documentación dice que Component[] también es aceptado. El enfoque recomendado con Componentes es utilizar la API orientada a eventos.
Empieza aquí:
- Consulta la documentación de GrapesJS de tu módulo específico
- Busca el método del oyente de eventos 'on()'
- La mayoría de las operaciones se pueden realizar escuchando eventos del editor y de los componentes
Patrones comunes: '''javascript Prestad atención a los cambios editor.on('Change', () => console.log('Something Changed'));
Ciclo de vida de los componentes editor.on('component:mount', (c) => console.log('component ready', c)); editor.on('component:update', (c) => console.log('component updated', c));
**Si sigues atascado:**
- Compartir una reproducción mínima de CodeSandbox
- Incluye lo que ya has probado
- Menciona tu versión GrapesJS
- ¡La comunidad está aquí para ayudar!
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #4385
index.d.ts dice que los comandos run deberían devolver void, pero la documentación indica que se puede usar su valor de retorno
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? Cualquiera Enlace de demo reproducible ht...
Issue #6250
Prompt de la página clonada 'Conversión de estructura circular a JSON'
Versión GrapesJS[X] Confirmo que se debe usar la última versión de GrapesJS¿Qué navegador usas? Chrome 129.0.6668.101Enlace de demo reprodu...
Issue #5175
El método de movimiento no funciona como se espera
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? Chrome Enlace de demo reproducible https:...
Issue #4285
[Barra de herramientas de Component] Ancho de barra de herramientas que no se ajusta correctamente
Versión GrapesJS[X] Confirmo que se debe usar la última versión de GrapesJS¿Qué navegador usas? Chrome v100.0.4896.127Enlace de demo reprod...
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.
Tutorial
How to Build a Production GrapesJS Editor: The Complete Walkthrough of Brief, Preset, Plugins, and Services
A complete walkthrough of building a production GrapesJS editor: how to choose a preset, pick plugins, and scope setup services without burning a sprint.
Tutorial
Big Updates: TinyMCE 8 and Placeholder 2.0 for GrapesJS
In May we shipped major updates to two of our most popular GrapesJS plugins — TinyMCE Inline Text Editor and Placeholder.
Tutorial
Find the Right GrapesJS Plugin in Seconds: Smarter Discovery Is Live
We're shipping a set of discovery upgrades. New label filters, a proper compatibility switch for GrapesJS vs Studio, one-click and a smarter sort bar.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.