首页 >> 大全

uni-app 高性能的左右长列表,tab列表

2023-11-16 大全 32 作者:考证青年

前言:笔者一名业余的码农,只是爱好而已。刚从html转到uni-app这边,vue也是第一次写。

效果:

像这个可以左右切换的长列表,上面的tab倒是很好实现,直接使用官方的-view组件就可以了。

但是下方的长列表,要实现并且保证高性能,可不是一件容易事。

下方内容列表一开始,我是考虑使用组件的,但是组件的高度始终是固定的,即便你动态修改了。但依旧是固定的高度,以后内容变化的话,都得重新获取高度。所以排除掉

-view组件的话,官方文档早就说明不适合做长列表了。

长列表性能优化_uniapp长列表优化实例_

看来就剩下插件市场的list组件了,但是我没用过,但是我可以预见的是,list组件,扩展性低,复杂(相较于我这种第一次写vue的),性能也就那样,至少在HTML端的性能是不会很好的

所以就自己写一个,原理就是直接使用view,父view设置css属性为: -flex;。大致如下图

然后切换使用css平移动画 :(0); 性能非常的好。缺点就是要实现手势左右滑动进行切换得自己写js,不过也不难。

另外上面的tab。那条橙色的线,位置和宽度是会变化的,一开始使用的是left 和 width,来实现。然后发现在列表内容很多的情况下,性能很差,所以就改成了css的平移和缩放动画,来实现偏移和宽度变化(性能很好)。

上面tab被点击之后也会居中显示

下面是具体代码

根目录中创建文件夹(是自定义组件的存放地),文件夹中创建list.vue文件,文件内容如下



然后在你需要的地方引入这个文件


调用组件


性能没问题,在13个分类列表里面,每个列表中创建93个商品,切换过程没有一点点卡顿

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了