更新记录
1.0.5(2024-07-03) 下载此版本
增加数字指示器类型
1.0.4(2024-07-02) 下载此版本
完善使用示例
1.0.3(2024-07-02) 下载此版本
增加轮播点击事件
查看更多平台兼容性
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 3.1.0 | × | √ | × | × | × | √ |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 |
---|---|---|---|
× | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | × | × | × | × | × |
hbxw-swiper组件
介绍
方了更方便使用swiper实现图片轮播效果,特封此组件
使用示例
推荐先直接复制示例代码到工程中看效果了解下使用方法再投入项目使用。
<template>
<view class="swiper-container">
<text class="test-title">swiper示例0</text>
<hbxw-swiper
:list="list"
indicatorType="circle"
:previousMargin="0"
:nextMargin="0"
:padding="0"
:height="300"
@change="swiperChange"
@click="swiperItemClick"
></hbxw-swiper>
<text class="test-title">swiper示例1</text>
<hbxw-swiper :list="list" indicatorType="circle"></hbxw-swiper>
<text class="test-title">swiper示例2</text>
<hbxw-swiper :list="list" indicatorType="square"></hbxw-swiper>
<text class="test-title">swiper示例3</text>
<hbxw-swiper :list="list0" indicatorType="progress"></hbxw-swiper>
<text class="test-title">swiper示例4</text>
<hbxw-swiper :list="list0" indicatorType="number"></hbxw-swiper>
</view>
</template>
<script>
export default {
data() {
return {
list: [
{
img: 'https://placehold.jp/999999/ff4400/750x300.png?text=EXAMPLE0',
title: 'EXAMPLE0'
},{
img: 'https://placehold.jp/999999/ff4400/750x300.png?text=EXAMPLE1',
title: 'EXAMPLE1'
},{
img: 'https://placehold.jp/999999/ff4400/750x300.png?text=EXAMPLE2',
title: 'EXAMPLE2'
},{
img: 'https://placehold.jp/999999/ff4400/750x300.png?text=EXAMPLE3',
title: 'EXAMPLE3'
}
],
list0: [
{
img: 'https://placehold.jp/999999/ff4400/750x300.png?text=EXAMPLE0'
},{
img: 'https://placehold.jp/999999/ff4400/750x300.png?text=EXAMPLE1'
},{
img: 'https://placehold.jp/999999/ff4400/750x300.png?text=EXAMPLE2'
},{
img: 'https://placehold.jp/999999/ff4400/750x300.png?text=EXAMPLE3'
}
],
}
},
methods: {
swiperChange(e) {
console.log('---- swiperChange ----:', e);
},
swiperItemClick(item) {
console.log('---- swiperItemClick ----:', item);
}
}
}
</script>
<style lang="scss" scoped>
.test-title{
font-size: 32rpx;
font-weight: 700;
line-height: 56rpx;
padding: 20rpx 10rpx;
color: #111111;
}
.swiper-container{
padding-bottom: 64rpx;
}
</style>
API
Props
属性名 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
list | Array | null | 是 | 轮播数据,例如[{img: '...',title: '...'}] 如果不想有文字条,不传title即可 |
duration | Number | 1000 | 否 | 滑动动画时长 |
interval | Number | 3000 | 否 | 自动切换时间间隔 |
autoplay | Boolean | true | 否 | 是否自动播放 |
height | Number | 260 | 否 | swiper高度,单位rpx |
previousMargin | Number | 40 | 否 | 上一张swiper露出多少rpx |
nextMargin | Number | 40 | 否 | 下一张swiper露出多少rpx |
padding | Number | 20 | 否 | 相邻swiper中间间距 |
circular | Boolean | true | 否 | 是否无缝滚动 |
indicatorType | String | circle | 否 | 指示器款式circle(圆形)/square(方形)/progress (进度条)/number (数字) |
Events
事件名 | 说明 | 返回值 |
---|---|---|
change | 轮播切换时触发的事件 | 事件对象event event.detail = {current: 2, currentItemId: "", source: "autoplay"} |
click | 轮播被点击时触发的事件 | 被点击的轮播项数据,根据数据做不同的逻辑处理 |
注:暴露了swiper使用率高的参数和方法,详见官方文挡:swiper