Ich habe ein Problem beim Erstellen einer Fortschrittsanzeige, die den Echtzeitfortschritt einer VueX-Mutation verfolgt.VueJs Fortschrittsbalken zum Verfolgen des VueX-Mutationsfortschritts
Ich habe eine Schaltfläche Komponente, die eine Mutation ausführt, wenn der Benutzer auf die Schaltfläche klickt. Diese Mutation durchläuft ein Array und führt für jedes Element im Array eine Funktion aus. Während dieser Funktion aktualisiert es einen "Fortschritt" Status im Geschäft. Ich habe eine Fortschrittsbalkenkomponente, die diesen Fortschrittsstatus aus dem Speicher als berechnete Eigenschaft liest.
Ich hatte gehofft, dass, da der Fortschrittsstatus aktualisiert, so würde die Fortschrittsanzeige, aber es scheint, ich habe ein Problem mit dem DOM Rendern der Änderung so schnell wie es aktualisiert wird. Meine Mutation läuft und der Fortschrittsbalken geht von 0 auf 100 ohne dazwischenliegende Aktualisierung.
Ich glaube, ich habe ein Problem Konzeptualisierung, warum mein DOM nicht so schnell ist neu gezeichnet, als ich den ‚Fortschritt‘ Status an Aktualisierung und wenn es eine Möglichkeit, diesen
Wahrscheinlich, weil Ihre Mutation synchron ist, so dass, obwohl Sie den Fortschritt Status aktualisieren, die Benutzeroberfläche ist nicht in der Lage zu aktualisieren, bis die Mutation abgeschlossen ist. Sie müssen Ihre Aktualisierungen "aufteilen", damit die Benutzeroberfläche aktualisiert werden kann. Dies wird normalerweise mit einem setTimeout von 0 nach X Anzahl der Iterationen durchgeführt. Kann es auch daran liegen, dass das Update zu schnell erfolgt, um visuell zu sehen? –
Dies ist größtenteils richtig für das, was ich gefunden habe. Ich habe ein setTimeout verwendet, um das DOM bei der Verarbeitung meiner Array-Elemente nicht "einzufrieren". Ich füge unten eine Antwort hinzu –