VUE中页面加载了数据较多时,input输入框卡顿

问题:一个页面,上方input输入框用v-model绑定输入内容,用于搜索, 下方一个不分页表格,一次性加载列表所有数据,大概有三百多条数据。

在展示上没有问题,但是在input输入框输入时,发现很卡顿。

问题排查:首先看了下代码,逻辑上没什么问题,去网上查了一下,说是v-model实时更新引起整个页面render造成的,根据网上提示F12打开控制台,找到performance monitor,

然后在输入框连续输入一串内容, 可以看到下方的CPU达到了90%甚至99%。

看了网上说的解释,有一点不太明白,但我理解应该是,使用了v-model时,在每次v-model绑定的数据发生变化时,都会引起整个页面重新渲染,页面数据重新加载,

所以比如在我这个页面中,每次v-model绑定的内容改变,都会重新加载一下表格的列表数据,而每次数据几百条,就造成了输入框的卡顿。

所以在有v-model的情况下对页面进行防抖节流都是不生效的。

解决办法:把页面中的内容分离成组件,比如把输入框抽离成组件,组件之间的render是不影响的。在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值