Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
mrjesusenrique
Contributor
Contributor

Problema con método close() de la API de visualización de Qlik Sense

Hola comunidad, espero que esten bien. 

En esta oportunidad traigo una duda respecto al método close() de la API de visualización del Qlik Sense.

Tengo una aplicación de React que se conecta con el host de Qlik Sense y puedo mostrar los objetos por su ID en la web.

Ahora lo que estoy intentando hacer es trabajar con el ciclo de vida de mis componentes de React y al desmontar algún componente (reporte) aplicar un close() a los objetos Qlik Sense que se encontraron en este componente.

El punto es que al desmontar ejecuta una función que mapea una matriz de ID's y por cada uno se aplica el método close() pero no se obtiene respuesta. Dejo el bloque de código.

 

const closeObjects = async arrayIds => {
    const qApp = await window.qAppPromise;
    let qVizPromise = null;

    arrayIds.map(id => {
        (async () => {
            qVizPromise = qApp.visualization.get(id);
            const qViz = await qVizPromise;
            console.log(qViz);
            qViz.close();
        })();
    });
};

exportar  closeObjects predeterminados ;

 

 

con el console.log(qViz); puedo validar que obtengo los objetos por id de forma correcta, y en su  Prototype valido también los métodos del objeto y en efecto está el método close()

 

close.png

 

Para hacer una prueba, llamé mi función en el MONTADO del componente, esperando que al entrar al componente los objetos se cerraran y no pudiera ver los gráficos pero está ignorando por completo el qViz.close(), veo los gráficos sin problema. Es como tampoco si nunca lo invocara, obtengo un error de que qViz.close() no sea una función.

Espero que puedan dar una mano con esto. De antemano gracias!

 

Labels (3)
0 Replies