swiper 轮播能否动态添加swiper-item数量?
发布于 6 年前 作者 minmo 15357 次浏览 来自 官方Issues

swiper能在滑动的过程中, 滑动到指定的某一个swiper-item 然后动态再添加swiper-item. 比如一开始只有3个swiper-item, 滑动到第三个的时候,再新增三个,现在总共就是6个

4 回复

提供方法:

首先页面需要像楼上的兄弟说的,需要wx:for 循环。在swiper上使用 bindchange,JS里捕获e.detail.current

JS方面:

判断你的当前捕获事件current页是否为最后,例如你页面渲染同时显示3个item,JS里默认首组item的数量为8,那么最后的判定条件为current==5。条件为真时请求下一组数据然后推进数据绑定的data里就可以渲染出来了。刚实测过,可行。

有老兄说数据拉取次数过多过大会降低运行速度。可以考虑用wx:if判断多余的数据是否需要渲染出来,或者用hidden。但是我印象里hidden是占用资源的。目前我还没有太多数据测试。

可以。wx:for了解一下。

你试下动态设置轮播数组的长度

将后面三个swiper-item先隐藏,在bindchange事件中进行判断,小于3隐藏,等于3显示

回到顶部