| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | 
							- <template>
 
- 	<view v-if="!props.hide" :style="`height: ${props.height}; margin: ${props.margin}; padding: ${props.padding}`">
 
- 		<view v-if="props.list?.length">
 
- 			<swiper
 
-         class="swiper"
 
-         circular
 
-         :indicator-dots="props.indicatorDots"
 
-         :autoplay="props.autoplay"
 
-         :interval="props.interval"
 
-         :duration="props.duration"
 
-         indicator-active-color="#fff"
 
-       >
 
- 				<swiper-item v-for="(item, index) in list" :key="'swiperItem'+index" :style="`border-radius: ${props.borderRadius};`">
 
-           <image
 
-             :mode="props.mode"
 
-             :src="strType ? item : item[props.imgUrlKey]"
 
-              :style="`width: ${props.width}; height: ${props.height};`"
 
-             @error="imageError"
 
-             @click="emit('click', item)"
 
-           ></image>
 
- 				</swiper-item>
 
- 			</swiper>
 
- 		</view>
 
- 	</view>
 
- </template>
 
- <script setup>
 
- const emit = defineEmits(['click'])
 
- const props = defineProps({
 
-   list: { type: Array, default: () => [] },
 
-   indicatorDots: { type: Boolean, default: true }, // 是否显示面板指示点
 
-   autoplay: { type: Boolean, default: true }, // 是否自动切换
 
-   interval: { type: Number, default: 3000 }, // 自动切换时间间隔
 
-   duration: { type: Number, default: 500 }, // 滑动动画时长
 
-   strType: { type: Boolean, default: true }, // 数组类型或者对象类型
 
-   imgUrlKey: { type: String, default: 'src' },
 
-   mode: { type: String, default: 'scaleToFill' }, // 图片裁剪、缩放的模式。aspectFill保持纵横比缩放图片,只保证图片的短边能完全显示出来
 
-   hide: { type: Boolean, default: false }, // 隐藏
 
-   width: { type: String, default: '100%' },
 
-   height: { type: String, default: '150px' },
 
-   borderRadius: { type: String, default: '10px' },
 
-   borderRadius: { type: String, default: '10px' },
 
-   margin: { type: String, default: '10px' },
 
-   padding: { type: String, default: '0' },
 
- })
 
- const imageError = (e) => {
 
-   console.error('image发生error事件,携带值为' + e?.detail?.errMsg)
 
- }
 
- </script>
 
- <style scoped lang="scss">
 
- </style>
 
 
  |