情景一:swiper的current不在第一页了,导致第一页的数据看不到。
处理方法:在请求数据的时候重置current为0,即
<swiper class="banner swiper-box" circular="true" current="{{ current }}" next-margin="16px" previous-margin="16px" bindchange="swiperChange1" duration="500" interval="5000">
...
</swiper>
// 请求数据后
this.setData({
current: 0
})
情景二:轮播图每页item多个情况下,如:
<swiper class="banner swiper-box" display-multiple-items='4' circular="true" current="{{ current }}" next-margin="16px" previous-margin="16px" bindchange="swiperChange1" duration="500" interval="5000">
...
</swiper>
这时候我们可以看到在动态获取数据再赋值current为0时无效,不知道大家有没有注意到在开发者工具的控制台出现了警告 [swiper] display-multiple-items不能大于swiper-item数量
原因:由于swiper-item的实际个数不足swiper中设置的display-multiple-items个数4。
解决方法:
1.将swiper中display-multiple-items的值设置为一个变量去处理,例如:该变量为multipleNum
// 在请求数据res后
this.setData({
multipleNum: res.data.data.length <= 4 ? 4 : res.data.data.length
})
2. 请求的数据个数不足4的时候就填充空数据