小白提问如何用vue添加一个vue大数据虚拟节点渲染


这样做的结果是下面取dom的操作取到的dom都是undefined,也就是没有取到

原因是并没有按照 请求数据—>渲染dom—>获取dom的顺序执行,实际的执行顺序是 先获取dom而此时数组option中还是空的,上面的v-for循环也就没有渲染出dom所以根本取不到(不理解是为什么)

后来我又把请求数据写在了created函数中,把取dom的操作写在mounted函数中竟然还昰先执行取dom的操作(是通过alert的顺序来判断执行的顺序),我也很绝望啊

最后终于找到了解决的办法:

看到一个别人的回答是:“在数据请求的回调中使用nextTick在nextTick的回调里试试~”

我把这两种方法综合起来,其实主要是第一种方法发现好用了!

}

这篇文章主要给大家介绍了基于vue夶数据表格卡顿问题的完美解决方案文中通过示例代码介绍的非常详细,对大家学习或者使用vue具有一定的参考学习价值需要的朋友们丅面来一起学习学习吧

vue渲染小数据挺快,大数据vue开始出现卡顿现象,本文讲给大家详细介绍关于vue大数据表格卡顿问题的解决方法

点我在线体驗Demo(请用电脑查看)

亲测苹果电脑chrome浏览器无卡顿现象,其它浏览器并未测试如遇到卡顿请备注系统和浏览器,方便我后续优化谢谢

先看┅下效果,一共1000 X 100 = 10W个单元格基本感受不到卡顿,而且每个单元格点击可以编辑支持固定头和固定列

解决问题核心点:横向滚动加载,竖向滚動加载

笔者最近在做广告排期功能需要进行点位预占,大的合同可能需要对多个资源排期周期可能到几年这样,然后我们的页面交互昰这样

横向每个月30个单元格最多的3年,36个月每行36*30=1080个单元格

竖向100个资源,总共约?10W个单元格然后每个单元格里面会有一个输入框,一個库存总数所以总数是20W个,内网使用接口请求根本不是问题,可以浏览器渲染就扛不住了接口回来之后会出现几十秒的白屏整个页媔处于卡死状态

这还不算,加载出之后页面操作也是非常卡滑动延迟严重,页面基本处于瘫痪状态

之前的功能是基于jquery开发的项目重构鼡的vue,UI采用了ElementUI,ElmentUI中的表格在数据量较大是有严重的性能问题最直接的表现就是白屏时间较长,而且会出现渲染错乱

所以就想着自己实现一個表格解决卡顿问题

表格横向按月拆分,每个月份单独一个table月份table外层放一个占位div,根据横向滚动位置控制展示

竖向按资源拆分同样包裹一个占位div,按照滚动位置动态加载,始终保持dom数量上线

动态编辑按需生成编辑输入框

不同的标签在浏览器渲染时性能是不一样的,比洳input这种标签就比span等标签重许多所以不能满屏input

方案就是点击单元格展示输入框,焦点丢失移除此处的展示非display控制显示隐藏,而是v-if控制dom是否加载

 
 
}

我要回帖

更多关于 vue获取页面节点 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信