swiper.uvue 5.7 KB
Newer Older
杜庆泉's avatar
杜庆泉 已提交
1 2 3 4
<template>
	<view>
		<page-head title="swiper,可滑动视图"></page-head>
		<view class="uni-margin-wrap">
杜庆泉's avatar
杜庆泉 已提交
5
			<swiper class="swiper" :vertical="verticalSelect" :indicator-dots="dotsSelect" :autoplay="autoplaySelect" :interval="intervalSelect"  :circular="circularSelect" :indicator-color="indicatorColor" :indicator-active-color="indicatorColorActive" :disable-touch="disableTouchSelect" :current="currentVal" :current-item-id="currentItemIdVal" @change="swiperChange" @transition="swiperTransition" @animationfinish="swiperAnimationfinish">
杜庆泉's avatar
杜庆泉 已提交
6
				<swiper-item item-id="A">
杜庆泉's avatar
杜庆泉 已提交
7
					<view class="swiper-item uni-bg-red"><text class="swiper-item-Text">A</text></view>
杜庆泉's avatar
杜庆泉 已提交
8
				</swiper-item>
杜庆泉's avatar
杜庆泉 已提交
9
				<swiper-item item-id="B">
杜庆泉's avatar
杜庆泉 已提交
10
					<view class="swiper-item uni-bg-green"><text class="swiper-item-Text">B</text></view>
杜庆泉's avatar
杜庆泉 已提交
11
				</swiper-item>
杜庆泉's avatar
杜庆泉 已提交
12
				<swiper-item item-id="C">
杜庆泉's avatar
杜庆泉 已提交
13
					<view class="swiper-item uni-bg-blue"><text class="swiper-item-Text">C</text></view>
杜庆泉's avatar
杜庆泉 已提交
14 15 16
				</swiper-item>
			</swiper>
		</view>
杜庆泉's avatar
杜庆泉 已提交
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
		<view class="uni-list">
		  <view class="uni-list-cell uni-list-cell-pd">
		    <view class="uni-list-cell-db">是否显示面板指示点</view>
		    <switch :checked="dotsSelect" @change="dotsChange"/>
		  </view>
		  <view class="uni-list-cell uni-list-cell-pd">
		    <view class="uni-list-cell-db">是否自动切换</view>
		    <switch :checked="autoplaySelect" @change="autoplayChange"/>
		  </view>
		  <view class="uni-list-cell uni-list-cell-pd">
		    <view class="uni-list-cell-db">是否循环</view>
		    <switch :checked="circularSelect" @change="circularChange"/>
		  </view>
		  <view class="uni-title">间隔时间</view>
		  <view>
		    <slider @change="sliderChange" :value="1000" :min="500" :max="5000" :show-value="true" />
		  </view>
		  <view class="uni-list-cell uni-list-cell-pd">
		    <view class="uni-list-cell-db">定制指示器颜色</view>
		    <switch :checked="indicatorColorSelect" @change="indicatorColorChange"/>
		  </view>
杜庆泉's avatar
杜庆泉 已提交
38 39 40 41 42 43 44 45 46 47 48 49
		  <view class="uni-list-cell uni-list-cell-pd">
		    <view class="uni-list-cell-db">纵向</view>
		    <switch :checked="verticalSelect" @change="verticalChange"/>
		  </view>
		  <view class="uni-list-cell uni-list-cell-pd">
		    <view class="uni-list-cell-db">指定current为最后一个元素</view>
		    <switch :checked="currentSelect" @change="currentChange"/>
		  </view>
		  <view class="uni-list-cell uni-list-cell-pd">
		    <view class="uni-list-cell-db">指定current-item-id为最后一个元素</view>
		    <switch :checked="currentItemIdSelect" @change="currentItemIdChange"/>
		  </view>
杜庆泉's avatar
杜庆泉 已提交
50 51 52 53 54 55 56 57
		  <view class="uni-list-cell uni-list-cell-pd">
		    <view class="uni-list-cell-db">禁止用户 touch 操作</view>
		    <switch :checked="disableTouchSelect" @change="disableTouchChange"/>
		  </view>
		  <view class="uni-list-cell uni-list-cell-pd">
		    <view class="uni-list-cell-db">swiperTransition 是否打印</view>
		    <switch :checked="swiperTransitionSelect" @change="swiperTransitionChange"/>
		  </view>
杜庆泉's avatar
杜庆泉 已提交
58
		</view>
杜庆泉's avatar
杜庆泉 已提交
59 60 61 62 63 64 65 66 67 68


	</view>
</template>
<script>
	export default {
		data() {
			return {
				background: ['color1', 'color2', 'color3'],
				interval: 2000,
杜庆泉's avatar
杜庆泉 已提交
69 70 71 72
				dotsSelect:false,
				autoplaySelect:false,
				circularSelect:false,
				indicatorColorSelect:false,
杜庆泉's avatar
杜庆泉 已提交
73 74 75
				verticalSelect:false,
				currentSelect:false,
				currentItemIdSelect:false,
杜庆泉's avatar
杜庆泉 已提交
76 77 78
				intervalSelect:1000,
				indicatorColor:"",
				indicatorColorActive:"",
杜庆泉's avatar
杜庆泉 已提交
79
				currentVal:0,
杜庆泉's avatar
杜庆泉 已提交
80 81 82
				currentItemIdVal:"",
				disableTouchSelect:false,
				swiperTransitionSelect:false
杜庆泉's avatar
杜庆泉 已提交
83 84 85
			}
		},
		methods: {
杜庆泉's avatar
杜庆泉 已提交
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
			
			swiperChange: function (e : SwiperChangeEvent) {
				console.log("swiperChange")
				console.log(e)
			},
			swiperTransition: function (e : SwiperTransitionEvent) {
				if(this.swiperTransitionSelect){
					console.log("swiperTransition")
					console.log(e)
				}
			},
			swiperAnimationfinish: function (e : SwiperAnimationFinishEvent) {
				console.log("swiperAnimationfinish")
				console.log(e)
			},
			
杜庆泉's avatar
杜庆泉 已提交
102 103 104
			dotsChange: function (e : SwitchChangeEvent) {
				this.dotsSelect = e.detail.value
			},
杜庆泉's avatar
杜庆泉 已提交
105 106 107
			swiperTransitionChange: function (e : SwitchChangeEvent) {
				this.swiperTransitionSelect = e.detail.value
			},
杜庆泉's avatar
杜庆泉 已提交
108 109 110
			autoplayChange: function (e : SwitchChangeEvent) {
				this.autoplaySelect = e.detail.value
			},
杜庆泉's avatar
杜庆泉 已提交
111 112 113
			verticalChange: function (e : SwitchChangeEvent) {
				this.verticalSelect = e.detail.value
			},
杜庆泉's avatar
杜庆泉 已提交
114 115 116
			disableTouchChange: function (e : SwitchChangeEvent) {
				this.disableTouchSelect = e.detail.value
			},
杜庆泉's avatar
杜庆泉 已提交
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
			currentItemIdChange: function (e : SwitchChangeEvent) {
				this.currentItemIdSelect = e.detail.value
				if(this.currentItemIdSelect){
					this.currentItemIdVal = 'C'
				}else{
					this.currentItemIdVal = 'A'
				}
			},
			currentChange: function (e : SwitchChangeEvent) {
				this.currentSelect = e.detail.value
				if(this.currentSelect){
					this.currentVal = 2
				}else{
					this.currentVal = 0
				}
				
			},
杜庆泉's avatar
杜庆泉 已提交
134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
			circularChange: function (e : SwitchChangeEvent) {
				this.circularSelect = e.detail.value
				console.log(this.circularSelect)
			},
			sliderChange(e : SliderChangeEvent) {
			  this.intervalSelect = e.detail.value
			},
			indicatorColorChange(e : SwitchChangeEvent) {
				this.indicatorColorSelect = e.detail.value
				if(this.indicatorColorSelect){
					// 选择了定制指示器颜色
					this.indicatorColor = "#ff00ff"
					this. indicatorColorActive = "#0000ff"
				}else{
					// 没有选择颜色
					this.indicatorColor = ""
					this. indicatorColorActive = ""
				}
			}
杜庆泉's avatar
杜庆泉 已提交
153 154 155 156 157 158 159 160 161 162 163 164 165
		}
	}
</script>

<style>
	.uni-margin-wrap {
		width:690rpx;
		width: 100%;;
	}
	.swiper {
		height: 300rpx;
	}
	.swiper-item {
杜庆泉's avatar
杜庆泉 已提交
166
		width: 100%;
杜庆泉's avatar
杜庆泉 已提交
167 168 169 170
		height: 300rpx;
		line-height: 300rpx;
		text-align: center;
	}
杜庆泉's avatar
杜庆泉 已提交
171 172 173 174 175 176 177 178
	
	.swiper-item-Text {
		width: 100%;
		text-align:center;
		line-height: 300rpx;
	}
	
	
杜庆泉's avatar
杜庆泉 已提交
179 180

</style>