字节跳动小程序开发组件文档 swiper

由 卓别林 创建, 最后一次修改 2019-08-07

滑块视图容器,其中只可放置 <swiper-item/> 组件,否则可能导致异常。

属性名 类型 默认值 说明 最低版本
indicator-dots Boolean false 是否显示面板指示点 1.0.0
indicator-color String rgba(0, 0, 0, .3) 指示点颜色 1.0.0
indicator-active-color String rgba(0, 0, 0, 0) 当前选中的指示点颜色 1.0.0
autoplay Boolean false 是否自动切换 1.0.0
current Number 0 当前选中滑块的index 1.0.0
current-item-id String "" 当前选中滑块的组件id,不能与current属性同时指定 1.0.0
interval Number 5000 自动切换时间间隔 1.0.0
display-multiple-items Number 1 同时显示的滑块数量 1.0.0
duration Number 500 滑动动画时长 1.0.0
circular Boolean false 是否循环播放(首尾衔接) 1.0.0
vertical Boolean false 滑块放置方向是否为竖直 1.0.0
bindchange EventHandler current 改变时会触发 change 事件,event.detail = {current, source} 1.0.0
bindtransition EventHandler swiper-item产生位移时触发 transition 事件,event.detail = {dx, dy} 1.20.0

change 事件的source字段表示导致改变的原因,可以有如下值:

  • autoplay 自动播放导致swiper变化
  • touch 用户划动导致swiper变化
  • 其他原因将用空字符串表示。

swiper-item


滑块视图内容。仅可放置在 <swiper/> 组件中,宽高自动设置为100%。

属性名 类型 默认值 说明 最低版本
item-id String "" 组件id

示例

开发者工具中预览

<view class="page-section">
  <swiper indicator-dots="{{indicatorDots}}"
    autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">
    <block tt:for="{{background}}">
      <swiper-item>
        <view class="swiper-item {{item}}"></view>
      </swiper-item>
    </block>
  </swiper>
</view>
<view class="page-section">
  <view class="ttui-cells">
    <view class="ttui-cell">
      <view class="ttui-cell__bd">指示点</view>
      <view class="ttui-cell__ft">
        <switch checked="{{indicatorDots}}" bindchange="changeIndicatorDots" />
      </view>
    </view>
    <view class="ttui-cell">
      <view class="ttui-cell__bd">自动播放</view>
      <view class="ttui-cell__ft">
        <switch checked="{{autoplay}}" bindchange="changeAutoplay" />
      </view>
    </view>
  </view>
</view>
Page({
  data: {
    background: ['demo-text-1', 'demo-text-2', 'demo-text-3'],
    indicatorDots: true,
    vertical: false,
    autoplay: false,
    interval: 2000,
    duration: 500
  },
  changeIndicatorDots: function (e) {
    this.setData({
      indicatorDots: !this.data.indicatorDots
    })
  },
  changeAutoplay: function (e) {
    this.setData({
      autoplay: !this.data.autoplay
    })
  },
  intervalChange: function (e) {
    this.setData({
      interval: e.detail.value
    })
  },
  durationChange: function (e) {
    this.setData({
      duration: e.detail.value
    })
  }
})


以上内容是否对您有帮助:
二维码
建议反馈
二维码