Jak vynutit DOM element aktualizace dříve než ostatní, nebo ukázat indikátor čekající na Štíhlé?

0

Otázka

Mám pár políček, která po kliknutí způsobí mnoho změn v DOM, a to zamrzne aplikace na několik sekund. Rád bych zaškrtávacích políček aktualizace první a/nebo zobrazí indikátor čekající. Zkoušel jsem různé věci, ale z nějakého důvodu, nic jiného v DOM bude aktualizovat před mrazem. Změny jsou vyrobeny, aby se velký stůl, a to buď odstraněním nebo přidáním celé sloupce, a to se chová jako když to má vyšší prioritu než cokoliv jiného, protože všechny ostatní pokusy o aktualizaci DOM po kliknutí na políčko nechoďte přes, dokud stolu byla dokončena re-rendering. OBECNĚ se ale můžete použít konzoli.přihlásit k zobrazení zprávy před tabulku aktualizace, a také po dokončení nějakého důvodu.

dom svelte
2021-11-22 21:14:33
1

Nejlepší odpověď

0
import {tick} from "svelte";

let checked = false;
$: applyChanges(checked);

async function applyChanges() {
  messageVisible = true
  await tick()
  requestAnimationFrame(() => {
    requestAnimationFrame(() => {
      // do the stuff that causes a lots of dom updates
    })
  })
}

Na await tick() platí messageVisible změny DOM.
Dvojité raf bude čekat na prohlížeč čerpat aktualizováno DOM.

2021-11-24 12:40:02

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................