1.代码
components/MySwiper/index.js
/**
* 轮播图组件
*/
import Taro, { Component } from '@tarojs/taro';
import { Swiper, SwiperItem, Image } from '@tarojs/components';
import PropTypes from 'prop-types';
import './index.scss';
export default class MySwiper extends Component {
static propTypes = {
banner: PropTypes.array,
};
static defaultProps = {
banner: [],
};
render() {
const { banner } = this.props;
return (
<Swiper
className="swiper-container"
circular
indicatorDots
indicatorColor='#999'
indicatorActiveColor='#bf708f'
autoplay>
{ banner.map((item, index) => (
<SwiperItem key={index}>
<Image className="swiper-img" mode="widthFix" src={item.image_src}></Image>
</SwiperItem>
))}
</Swiper>
)
}
}
components/MySwiper/index.less
@import "../../styles/mixin";
.swiper-container {
width: 100vw;
height: 450px;
.swiper-img,img {
height: 450px!important;
}
}
2.调用
render() {
const { banner } = this.props;
return (
<View className="home-page">
<MySwiper banner={banner} />
</View>
)
}
3.效果图