小程序开放平台

文档中心
表单组件
基础内容
媒体组件
地图
视图容器
movable-area
movable-view
scroll-view
swiper
swiper-item
view
导航组件
开放能力
画布

swiper

开发
>
组件
>
视图容器
>
swiper
>
更新时间:2024-11-13 20:33:52

swiper

滑块视图容器。其中只可放置swiper-item组件,否则会导致未定义的行为。

属性
类型
默认值
必填
说明
indicator-dotsbooleanfalse是否显示面板指示点
indicator-colorstringrgba(0, 0, 0, .3)指示点颜色
indicator-active-colorstring#000000当前选中的指示点颜色
autoplaybooleanfalse是否自动切换
currentnumber0当前所在滑块的 index
intervalnumber5000自动切换时间间隔
durationnumber500滑动动画时长
circularbooleanfalse是否采用衔接滑动
verticalbooleanfalse滑动方向是否为纵向
previous-marginstring0px前边距,可用于露出前一项的一小部分,接受 px 和 rpx 值
next-marginstring0px后边距,可用于露出后一项的一小部分,接受 px 和 rpx 值
bindchangeeventhandlecurrent 改变时会触发 change 事件,event.detail = {current, source}

扫码预览

组件示例

  <swiper
    indicator-dots="{{indicatorDots}}"
    autoplay="{{autoplay}}"
    current="{{current}}"
    vertical="{{vertical}}"
    interval="{{interval}}"
    duration="{{duration}}"
    circular="{{circular}}"
    indicator-color="{{indicatorColor}}"
    indicator-active-color="{{indicatorActiveColor}}"
  >
    <block xhs:for="{{background}}" xhs:key="*this">
      <swiper-item>
        <view class="swiper-item {{item}}"></view>
      </swiper-item>
    </block>
  </swiper>
</view>
Page({
  onShareAppMessage() {
    return {
      title: 'swiper',
      path: 'page/component/pages/swiper/swiper',
    };
  },

  data: {
    background: ['demo-text-1', 'demo-text-2', 'demo-text-3'],
    indicatorDots: true,
    indicatorColor: 'gray',
    indicatorActiveColor: 'yellow',
    vertical: false,
    autoplay: false,
    circular: true,
    current: 0,
    interval: 2000,
    duration: 500,
    src: '',
    nextMargin: '40rpx',
  },

  onReady() {
    setTimeout(() => {
      this.setData({
        src: 'https://b.bdstatic.com/searchbox/icms/searchbox/images/demo.webp',
      });

      this.setData({
        height: 180,
      });
    }, 1000);
  },

  changeIndicatorDots() {
    this.setData({
      indicatorDots: !this.data.indicatorDots,
    });
  },

  changeAutoplay() {
    this.setData({
      autoplay: !this.data.autoplay,
    });
  },

  changeVertical() {
    this.setData({
      vertical: !this.data.vertical,
    });
  },

  changeCircular() {
    this.setData({
      circular: !this.data.circular,
    });
  },

  changeCurrent({ detail }) {
    this.setData({
      current: parseInt(detail.value, 10),
    });
  },

  changeIndicatorColor({ detail }) {
    this.setData({
      indicatorColor: detail.value,
    });
  },

  changeIndicatorActiveColor({ detail }) {
    this.setData({
      indicatorActiveColor: detail.value,
    });
  },

  intervalChange(e) {
    this.setData({
      interval: e.detail.value,
    });
  },

  durationChange(e) {
    this.setData({
      duration: e.detail.value,
    });
  },

  onChange(e) {
    console.log('swiper bindChange', e);
  },
});
该文档是否对您有帮助?