I have a popup that displays a QR code, usually with 3000 or so characters. I would like the QR code to not be visible until it is rendered so it doesn't come up with one value and then flash-change to the final value. Is there any way I can tell when a component is rendered then make it visible? I don't see an event for that.
This kind of thing has come up for a few screens in various projects, and I would love to be able to not have things flash around for a moment until everything settles down. Thanks
This is a pretty ubiquitous discussion topic on this forum if you dig around. In a nutshell, there's no way to know this, but there are workarounds. You can try caching/preloading the QR code data and feeding that into the popup as a parameter or session property. Or you can try increasing the websocket max message size in your ignition.conf file (if you are at or above version 8.1.12). As a disclaimer, I haven't tried either of these, and you might find no improvement. You can try using a coalesce on your binding(s) which is frequently recommended here -- I have tried this but ended up scrapping it because the coalescing itself needs time to evaluate and I personally saw no improvements.
What I started doing is just putting a delayed fade-in style class on any complex components that need time to load or creating an interstitial loading screen.