参考官网
1. 常用参数
indicator-dots 是否显示面板指示点,默认值 false
indicator-color 指示点颜色,默认值 rgba(0, 0, 0, .3)
indicator-active-color 当前选中的指示点颜色,默认值 #000000
active-class swiper-item 可见时的 class,用于设置显示时的样式
changing-class acceleration 设置为 true 时且处于滑动过程中,中间若干屏处于可见时的class
autoplay 是否自动切换,默认值 false
current 当前所在滑块的 index,默认值 0
current-item-id 当前所在滑块的 item-id ,不能与 current 被同时指定,支付宝小程序不支持
interval 自动切换时间间隔,默认值 5000
duration 滑动动画时长,app-nvue不支持
circular 是否采用衔接滑动,即播放到末尾后重新回到开头,默认值 false
vertical 滑动方向是否为纵向,默认值 false
disable-touch 是否禁止用户 touch 操作,(只在初始化时有效,不能动态变更)
touchable 是否监听用户的触摸事件,只在初始化时有效,不能动态变更,默认值 true
easing-function 指定 swiper 切换缓动动画类型,有效值:default(默认)、linear(线性)、easeInCubic(缓入)、easeOutCubic(缓出)、easeInOutCubic(换入患处)
@change current 改变时会触发 change 事件,event.detail = {current: current, source: source}
@transition swiper-item 的位置发生改变时会触发 transition 事件,event.detail = {dx: dx, dy: dy},支付宝小程序暂不支持dx, dy
@animationfinish 动画结束时会触发 animationfinish 事件,event.detail = {current: current, source: source},字节跳动小程序与飞书小程序不支持
previous-margin 前边距,可用于露出前一项的一小部分,接受 px 和 rpx 值,app-nvue、字节跳动小程序、飞书小程序不支持
next-margin 后边距,可用于露出后一项的一小部分,接受 px 和 rpx 值,app-nvue、字节跳动小程序、飞书小程序不支持
acceleration 当开启时,会根据滑动速度,连续滑动多屏,默认值 false
display-multiple-items 同时显示的滑块数量,默认值 1
2. 示例
<!-- 本示例未包含完整css,获取外链css请参考上文,在hello uni-app项目中查看 -->
<template>
<view>
<view class="uni-padding-wrap">
<view class="page-section swiper">
<view class="page-section-spacing">
<swiper class="swiper"
indicator-dots="true"
indicator-color="rgba(120,0,120,0.2)"
indicator-active-color="rgba(120,0,120,1)"
active-class="swipper-item-class"
vertical="true"
autoplay="true"
:interval="interval"
:duration="duration"
@change="change"
@transition="transition"
@animationfinish="animationfinish"
>
<swiper-item>
<image :src="img" />
</swiper-item>
<swiper-item>
<view class="swiper-item uni-bg-green">B</view>
</swiper-item>
<swiper-item>
<view class="swiper-item uni-bg-blue">C</view>
</swiper-item>
</swiper>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
interval: 2000,
duration: 500,
img: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/aff47ed0-517d-11eb-8ff1-d5dcf8779628.jpg'
}
},
methods: {
change(e) {
console.log('change:' + JSON.stringify(e))
},
transition(e) {
// console.log('transition:' + JSON.stringfy(e))
},
animationfinish(e) {
console.log('animationfinish:' + JSON.stringify(e))
},
}
}
</script>
<style>
</style>
网友评论