为什么Vue DOM变化的速度这么慢?
P粉596191963
P粉596191963 2024-03-26 10:09:21
[Vue.js讨论组]

我有一个包含 2000 个输入复选框的列表。当一次选择它们时,会出现大约 2 秒的明显延迟(并且浏览器冻结)。 Vue 和 React 似乎是这种情况,但 Svelte、jQuery 或 vanilla 则不然。

有了超过 5k 个复选框,它就会成为一个非常烦人的 3-5 秒拦截器......

为什么重新渲染需要这么长时间?

如何使用 Vue.js 克服此更新延迟?

(分页或延迟加载的解决方案并没有真正解决问题;他们只是在避免问题。)

下面是 Vue 中的代码,后面是 Svelte 中的相同示例。





Vue SFC 链接

苗条:





{#each items as n, i}

{/each}

Svelte REPL 链接

P粉596191963
P粉596191963

全部回复(1)
P粉270842688

1。慢慢改变的原因


您使用选定的 v-model,但选定的是数组,并且您将 2000 个值的整个数组放入每个 2000 个输入的 v-model 中,这是很多,这就是浏览器等待的原因

2。解决

您可以在输入中使用


并且您可以更改脚本中的 selectAll 函数

function selectAll() {
    selected = items.map(i => true);
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号