Issue #2176✓ ResueltoAbierto el 31 de julio de 2019por yucomdsReacciones 2

Cierre modal : Uncaught TypeError: No se puede leer la propiedad 'longitud' de indefinida en V (cash.js:702)

Respuesta rápidapor pouyamiralayi2

¡Hola! Creo que el problema no es tu modal, sino el primer comando que ejecutas: 'testo = editor.runCommand('gjs-get-inlined-html');' Tú también debes pararlo: 'stop: function (editor) { editor. Modal.close(); editor.stopCommand('gjs-get-inlined-html') }` Salud.

Lee la respuesta completa abajo ↓

Pregunta

Hola,

Tengo este código para mostrar un modal cuando hago clic en mi botón personalizado.

comandos const = editor. Órdenes;
commands.add('salva-template-command', {
    run: function (editor, sender, options) {

testo = editor.runCommand('gjs-get-inlined-html');

var modalTitle = 'Mi Título';
        var modalContent = '<h1>mi contenido</h1>';

const modal = editor. modal;

modal.setTitle(modalTitle);
        modal.setContent(modalContent);
        modal.open()
        modal.onceClose(() => this.stopCommand());

},
    stop: function (editor) {
        editor. Modal.close();
    }
})
panelManager.addButton('commands', {
    id: 'btnSaveAsTemplate',
    claseNombre: 'fa fa-th-large',
    Orden: 'salva-plantilla-comando',
    atributos: { título: 'Mi titile' },
});  

Al primer clic, el modal aparece correctamente. Luego la cierro yo. Ahora, si vuelvo a hacer clic tengo este error en consola:

! imagina

Solo puedo mostrarlo de nuevo si hago clic otra vez en el botón personalizado.

Ya he seguido las instrucciones que se han dado aquí — > https://grapesjs.com/docs/modules/Commands.html#stateful-commands pero no consigo averiguarlo.

Mi versión de GrapeJS es: "0.14.62" (última). Estoy teniendo el problema con mi copia local. Probado en Firefox (el último) y Chorme (el último) en Ubuntu 16.04 LTS.

¡Gracias de antemano!

Respuestas (2)

👍 Muy útilpouyamiralayi3 de agosto de 2019

¡Hola! Creo que el problema no es tu modal, sino el primer comando que ejecutas: 'testo = editor.runCommand('gjs-get-inlined-html');' Tú también debes pararlo: 'stop: function (editor) { editor. Modal.close(); editor.stopCommand('gjs-get-inlined-html') }` Salud.

yucomds5 de agosto de 2019

¡Gracias @pouyamiralayi!

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 →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.