Swiper 轮播图

功能丰富的轮播图组件,支持自动播放、卡片式轮播、自定义指示器位置等多种特性。

代码示例

				
<template>
	<zk-theme type="page" padding="20" showBack navbarTitle="轮播图">
		<view class="demo-title">

			<zk-text type="secondary" :size="28" weight="bold" margin="0 0 20rpx 0" text="基础用法" />
		</view>
		<zk-swiper :list="list" @click="onClick" />

		<view class="demo-title">

			<zk-text type="secondary" :size="28" weight="bold" margin="0 0 20rpx 0" text="卡片式轮播(不支持nvue)" />
		</view>
		<zk-swiper :list="list" type="card" :height="250" :card-scale="0.95" :duration="300" :interval="4000" />

		<view class="demo-title">

			<zk-text type="secondary" :size="28" weight="bold" margin="0 0 20rpx 0" text="显示标题" />
		</view>
		<zk-swiper :list="list" :show-title="true" />

		<view class="demo-title">

			<zk-text type="secondary" :size="28" weight="bold" margin="0 0 20rpx 0" text="自定义指示器位置(右侧)" />
		</view>


		<zk-swiper :list="list" indicator-position="bottom-right" />


		<view class="demo-title">

			<zk-text type="secondary" :size="28" weight="bold" margin="0 0 20rpx 0" text="自定义指示器位置(左侧)" />
		</view>


		<zk-swiper :list="list" indicator-position="bottom-left" />



		<view class="demo-title">

			<zk-text type="secondary" :size="28" weight="bold" margin="0 0 20rpx 0" text="自定义指示器颜色" />
		</view>
		<zk-swiper :list="list" indicator-active-color="#FF0000" indicator-inactive-color="rgba(255, 0, 0, 0.3)" />
	</zk-theme>
</template>

<script>
	export default {
		data() {
			return {
				list: [{
						image: 'http://demo.zenkuai.com/attachment/demo/s1.jpg',
						title: '标题1'
					},
					{
						image: 'http://demo.zenkuai.com/attachment/demo/s2.jpg',
						title: '标题2'
					},
					{
						image: 'http://demo.zenkuai.com/attachment/demo/s3.jpg',
						title: '标题3'
					}
				]
			}
		},
		methods: {
			onClick(e) {
				console.log('点击轮播图', e)
			}
		}
	}
</script>

<style lang="scss">
	.demo-title {
		margin-top: 30rpx;
		margin-right: 0;
		margin-bottom: 16rpx;
		margin-left: 0;


		/* #ifdef APP-NVUE */
		flex-direction: row;
		/* #endif */

		&:first-child {
			margin-top: 0;
		}

		&__text {
			font-size: 28rpx;
			color: #909399;
			/* #ifdef APP-NVUE */
			lines: 1;
			/* #endif */
		}
	}
</style>
			

API

Props 属性

参数 说明 类型 默认值
list 轮播图数据列表,支持字符串数组或对象数组 Array<string | object> []
height 轮播图高度,单位rpx string / number 300
autoplay 是否自动播放 boolean true
interval 自动轮播时间间隔,单位ms number 3000
duration 滑动动画时长,单位ms number 300
circular 是否循环播放 boolean true
img-mode 图片裁剪模式 string aspectFill
indicator 是否显示指示器 boolean true
indicator-position 指示器位置 string bottom-center
indicator-active-color 指示器激活色 string #FFFFFF
indicator-inactive-color 指示器非激活色 string rgba(255, 255, 255, 0.3)
show-title 是否显示标题 boolean false
radius 圆角值,单位rpx string / number 8
type 轮播图类型,可选值:default / card string default
card-scale 卡片式缩放比例 number 0.83

Events 事件

事件名 说明 回调参数
change 轮播图切换时触发 (index: number)
click 点击轮播图时触发 (index: number)
animationfinish 动画结束时触发 { current: number, item: object }

数据结构说明

// 支持以下数据格式:
list: [
    'https://example.com/image1.jpg',  // 直接使用图片地址
    {
        image: 'https://example.com/image2.jpg',  // 图片地址
        title: '标题文字'  // 可选的标题
    }
]