| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | 
							- <template>
 
- 	<view 
 
- 	class="gui-flex gui-row gui-nowrap gui-align-items-center">
 
- 		<view>
 
- 			<slot name="icon"></slot>
 
- 		</view>
 
- 		<view class="gui-flex1">
 
- 			<swiper 
 
- 			:vertical="vertical" 
 
- 			@change="change" 
 
- 			autoplay="true" 
 
- 			:circular="true" 
 
- 			:interval="interval" 
 
- 			:current="current" 
 
- 			:style="{height:height+'rpx'}">
 
- 				<swiper-item  
 
- 				v-for="(item, index) in items" 
 
- 				:key="index">
 
- 					<navigator 
 
- 					:url="item.url" 
 
- 					:open-type="item.opentype">
 
- 						<text 
 
- 						:style="{height:height+'rpx', lineHeight:height+'rpx'}" 
 
- 						class="gui-block gui-ellipsis itemsIn" 
 
- 						:class="itemClass">{{item.title}}</text>
 
- 					</navigator>
 
- 				</swiper-item>
 
- 			</swiper>
 
- 		</view>
 
- 	</view>
 
- </template>
 
- <script>
 
- export default{
 
- 	name  : "gui-speaker",
 
- 	props : {
 
- 		items     : {type:Array,   default:function () {return [];}},
 
- 		current   : {type:Number,  default:0},
 
- 		vertical  : {type:Boolean, default:false},
 
- 		interval  : {type:Number,  default:5000},
 
- 		itemClass : {type:Array,   default:function(){
 
- 			return ['gui-text', 'gui-primary-text']
 
- 		}},
 
- 		height    : {type:Number,  default : 66} 
 
- 	},
 
- 	data() {
 
- 		return {
 
- 		}
 
- 	},
 
- 	methods:{
 
- 		change:function (index) {
 
- 			this.$emit('change', index.detail.current);
 
- 		}
 
- 	},
 
- 	emits : ['change']
 
- }
 
- </script>
 
- <style scoped>
 
- .itemsIn{line-height:66rpx; height:66rpx; overflow:hidden;}
 
- </style>
 
 
  |