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 close.png](https://community.qlik.com/t5/image/serverpage/image-id/86466i4977571C67A03AA9/image-size/large?v=v2&px=999)
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!