我有一些选择框这点击时会造成很大的变化DOM,以及这种冻结应用于几秒钟。 我想框到更新,和/或显示在等待指示。 我已经尝试不同的东西,但由于某种原因没有其他的DOM将更新以前的冻结。 的变化是由一个大型的表格,既可以删除或添加整个柱,并且它的行为,如果这一具有更高的优先级别,因为任何其他尝试更新DOM后点击框,不要走,直到通过表已经完成了重新呈现。 总的来说,我可以使用控制台。日志显示的消息之前的表格更新,以及还在它完成对于一些原因。
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
})
})
}
的 await tick()
适用 messageVisible
改变DOM。
双raf将等待浏览器提请更新DOM。