先推荐一个一个对标pc端swiper的uniapp版本 zebra-swiper 缺点是自定义分页器不是很好处理 不知道怎么弄
优点:可以进行高度自适应 (这个uniapp原生swiper没有 只能动态修改 采用js 或者只有几种固定高度时采用变量修改)
<swiper
ref="lifeMiddleSwiper"
:style="`margin-bottom:24rpx;height:${
!middleServiceSwiper ? '165rpx' : '405rpx'
};transition:height cubic-bezier(0.45, 0, 0.55, 1) .6s;`"
v-if="middleService.length > 0"
indicator-dots
@change="handleChangeSwiper"
>
<swiper-item v-for="(_, index) in zSwiperItemPage" :key="index">
<view class="life-swiper-page">
<view
class="middle-nav-item"
v-for="item in lifemiddleService(index)"
:key="item.id"
@click="toUrl(item.url)"
>
<image mode="aspectFill" :src="item.icon" class="middle-nav-item-icon" />
<view class="middle-nav-item-title">{{ item.title }}</view>
</view>
</view>
</swiper-item>
</swiper>
//我这里就是采用的原生 因为分页器的缘故,然后我只有2种高度的情况 所以就使用了变量修改高度
// 原生swiper的分页器
:deep(.uni-swiper-dots-horizontal) {
border-radius: 20rpx;
overflow: hidden !important;
height: 4rpx !important;
.uni-swiper-dot {
margin-right: 0 !important;
height: 4rpx !important;
width: 20rpx !important;
border-radius: 0 !important;
}
}