问题

Vue 常用的UI框架,table组件在websocket通讯时,大量数据过来时页面数据加载不过来的情况,三个UI框架对比结果 ant-design-vue 和 iview比较差 element-ui 相对好点,但也卡顿。

下图是博主开发的读卡器SDK测试工具,在做测速时就遇到的这问题,找来找去,最终发现是UI框架的问题

效果对比

测试机器:NRP-D915I4 超高频分体式读写器

单天线模式,2500~3600ms读500张卡,测试环境非严苛,严苛环境下读卡性能更强悍。

卡顿

在这里插入图片描述
需要鼠标移动视图才会刷新!体验感极差

流畅

在这里插入图片描述
效果很明显

页面实际过来的数据远远大于500,这里对数据进行了去重。

解决问题

之前也找了各种方案,如this.$forceUpdate()this.$nextTick()this.$set()等,均与失败告终。后面发现只要数据不加载到table里,它就不会卡。于是就自己写了个table组件! 🤣

效果还不错,其实也简单,样式就拷贝UI框架本身的,把数据部分替换掉就行了。

代码

博客迁移,点击查看原文。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐