Swiper

滑块视图容器。扫码体验:

img.jpg

属性名类型默认值描述最低版本
indicator-dotsBooleanfalse是否显示指示点
indicator-colorColorrgba(0, 0, 0, .3)指示点颜色
indicator-active-colorColor#000当前选中的指示点颜色
active-classStringswiper-item可见时的class1.13.7
changing-classStringacceleration设置为{{true}}时且处于滑动过程中,中间若干屏处于可见时的class1.13.7
autoplayBooleanfalse是否自动切换
currentNumber0当前页面的 index
durationNumber500(ms)滑动动画时长
intervalNumber5000(ms)自动切换时间间隔
circularBooleanfalse是否启用无限滑动
verticalBooleanfalse滑动方向是否为纵向
previous-marginString'0px'前边距,单位px,1.9.0暂时只支持水平方向1.9.0
next-marginString'0px'后边距,单位px,1.9.0暂时只支持水平方向1.9.0
accelerationBooleanfalse当开启时,会根据滑动速度,连续滑动多屏1.13.7
onChangeEventHandlecurrent 改变时会触发,event.detail = {current, isChanging},其中isChangingacceleration设置为{{true}}时才有值,当连续滑动多屏时,中间若干屏触发onChange事件时isChangingtrue,最后一屏返回false

swiper-item

仅可放置在组件中,宽高自动设置为100%。

Sceenshot

image.png

示例代码

  1. <swiper
  2. indicator-dots="{{indicatorDots}}"
  3. autoplay="{{autoplay}}"
  4. interval="{{interval}}"
  5. >
  6. <block a:for="{{background}}">
  7. <swiper-item>
  8. <view class="swiper-item bc_{{item}}"></view>
  9. </swiper-item>
  10. </block>
  11. </swiper>
  12. <view class="btn-area">
  13. <button class="btn-area-button" type="default" onTap="changeIndicatorDots">indicator-dots</button>
  14. <button class="btn-area-button" type="default" onTap="changeAutoplay">autoplay</button>
  15. </view>
  16. <slider onChange="intervalChange" value="{{interval}}" show-value min="2000" max="10000"/>
  17. <view class="section__title">interval</view>
  1. Page({
  2. data: {
  3. background: ['green', 'red', 'yellow'],
  4. indicatorDots: true,
  5. autoplay: false,
  6. interval: 3000,
  7. },
  8. changeIndicatorDots(e) {
  9. this.setData({
  10. indicatorDots: !this.data.indicatorDots
  11. })
  12. },
  13. changeAutoplay(e) {
  14. this.setData({
  15. autoplay: !this.data.autoplay
  16. })
  17. },
  18. intervalChange(e) {
  19. this.setData({
  20. interval: e.detail.value
  21. })
  22. },
  23. })

原文: https://docs.alipay.com/mini/component/swiper