vue-pro/yudao-ui-app/components/yd-banner/yd-banner.vue

59 lines
1.2 KiB
Vue
Raw Normal View History

2022-11-19 21:40:26 +08:00
<template>
<u-swiper :list="bannerList" :keyName="keyName" previousMargin="20" nextMargin="20" circular height="150" @change="e => (current = e.current)" :autoplay="true" @click="handleSwiperClick">
<view slot="indicator" class="indicator">
<view class="indicator__dot" v-for="(item, index) in bannerList" :key="index" :class="[index === current && 'indicator__dot--active']"></view>
</view>
</u-swiper>
</template>
<script>
/**
* 广告滚动图
*/
export default {
name: 'mkt-banner',
components: {},
props: {
keyName: {
type: String,
default: 'url'
},
bannerList: {
type: Array,
default: () => []
}
},
data() {
return {
current: 0,
currentNum: 0
}
},
methods: {
handleSwiperClick(index) {
console.log('点击了图片索引值:', index)
}
}
}
</script>
<style lang="scss" scoped>
.indicator {
@include flex(row);
justify-content: center;
&__dot {
height: 15rpx;
width: 15rpx;
border-radius: 100rpx;
background-color: rgba(255, 255, 255, 0.35);
margin: 0 10rpx;
transition: background-color 0.3s;
&--active {
background-color: $custom-bg-color;
}
}
}
</style>