swiper.uvue 6.5 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 59 60 61 62 63 64 65 66
		  <view class="uni-list-cell uni-list-cell-pd">
		    <view class="uni-list-cell-db">swiperAnimationfinish 是否打印</view>
		    <switch :checked="swiperAnimationfinishSelect" @change="swiperAnimationfinishChange"/>
		  </view>
		  <view class="uni-list-cell uni-list-cell-pd">
		    <view class="uni-list-cell-db">swiperChange 是否打印</view>
		    <switch :checked="swiperChangeSelect" @change="swiperChangeChange"/>
		  </view>
		  
杜庆泉's avatar
杜庆泉 已提交
67
		</view>
杜庆泉's avatar
杜庆泉 已提交
68 69 70 71 72 73 74 75 76 77


	</view>
</template>
<script>
	export default {
		data() {
			return {
				background: ['color1', 'color2', 'color3'],
				interval: 2000,
杜庆泉's avatar
杜庆泉 已提交
78 79 80 81
				dotsSelect:false,
				autoplaySelect:false,
				circularSelect:false,
				indicatorColorSelect:false,
杜庆泉's avatar
杜庆泉 已提交
82 83 84
				verticalSelect:false,
				currentSelect:false,
				currentItemIdSelect:false,
杜庆泉's avatar
杜庆泉 已提交
85 86 87
				intervalSelect:1000,
				indicatorColor:"",
				indicatorColorActive:"",
杜庆泉's avatar
杜庆泉 已提交
88
				currentVal:0,
杜庆泉's avatar
杜庆泉 已提交
89 90
				currentItemIdVal:"",
				disableTouchSelect:false,
杜庆泉's avatar
杜庆泉 已提交
91 92 93
				swiperTransitionSelect:false,
				swiperAnimationfinishSelect:false,
				swiperChangeSelect:false
杜庆泉's avatar
杜庆泉 已提交
94 95 96
			}
		},
		methods: {
杜庆泉's avatar
杜庆泉 已提交
97 98
			
			swiperChange: function (e : SwiperChangeEvent) {
杜庆泉's avatar
杜庆泉 已提交
99 100 101 102
				if(this.swiperChangeSelect){
					console.log("swiperChange")
					console.log(e)
				}
杜庆泉's avatar
杜庆泉 已提交
103 104 105 106 107 108 109 110
			},
			swiperTransition: function (e : SwiperTransitionEvent) {
				if(this.swiperTransitionSelect){
					console.log("swiperTransition")
					console.log(e)
				}
			},
			swiperAnimationfinish: function (e : SwiperAnimationFinishEvent) {
杜庆泉's avatar
杜庆泉 已提交
111 112 113 114
				if(this.swiperAnimationfinishSelect){
					console.log("swiperAnimationfinish")
					console.log(e)
				}
杜庆泉's avatar
杜庆泉 已提交
115 116
			},
			
杜庆泉's avatar
杜庆泉 已提交
117 118 119
			dotsChange: function (e : SwitchChangeEvent) {
				this.dotsSelect = e.detail.value
			},
杜庆泉's avatar
杜庆泉 已提交
120 121 122
			swiperTransitionChange: function (e : SwitchChangeEvent) {
				this.swiperTransitionSelect = e.detail.value
			},
杜庆泉's avatar
杜庆泉 已提交
123 124 125 126 127 128
			swiperChangeChange: function (e : SwitchChangeEvent) {
				this.swiperChangeSelect = e.detail.value
			},
			swiperAnimationfinishChange: function (e : SwitchChangeEvent) {
				this.swiperAnimationfinishSelect = e.detail.value
			},
杜庆泉's avatar
杜庆泉 已提交
129 130 131
			autoplayChange: function (e : SwitchChangeEvent) {
				this.autoplaySelect = e.detail.value
			},
杜庆泉's avatar
杜庆泉 已提交
132 133 134
			verticalChange: function (e : SwitchChangeEvent) {
				this.verticalSelect = e.detail.value
			},
杜庆泉's avatar
杜庆泉 已提交
135 136 137
			disableTouchChange: function (e : SwitchChangeEvent) {
				this.disableTouchSelect = e.detail.value
			},
杜庆泉's avatar
杜庆泉 已提交
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154
			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
杜庆泉 已提交
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
			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
杜庆泉 已提交
174 175 176 177 178 179 180 181 182 183 184 185 186
		}
	}
</script>

<style>
	.uni-margin-wrap {
		width:690rpx;
		width: 100%;;
	}
	.swiper {
		height: 300rpx;
	}
	.swiper-item {
杜庆泉's avatar
杜庆泉 已提交
187
		width: 100%;
杜庆泉's avatar
杜庆泉 已提交
188 189 190 191
		height: 300rpx;
		line-height: 300rpx;
		text-align: center;
	}
杜庆泉's avatar
杜庆泉 已提交
192 193 194 195 196 197 198 199
	
	.swiper-item-Text {
		width: 100%;
		text-align:center;
		line-height: 300rpx;
	}
	
	
杜庆泉's avatar
杜庆泉 已提交
200 201

</style>