微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

react 中如何使用swiper

官网:https://www.swiper.com.cn/

第一步: 先下载 npm i swiper -S

 

第二步:引入

import Swiper from 'swiper'
import "swiper/css/swiper.css"

 

第三步: 引入css的样式

.swiper-container {
  width: 100%;
  height: 100%;
  border: 1px solid gray;
}

.swiper-slide {
  width: 120px !important;
  text-align: center;
  font-size: 18px;
  background: #fff;

  /* Center slide text vertically */
  display: -webkit-Box;
  display: -ms-flexBox;
  display: -webkit-flex;
  display: flex;
  -webkit-Box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-Box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

  

 

第四步: 例子 从本地请求了一个json数据。使用swiper

export default class All extends Component {

  state = {
    list: []
  }

  componentDidMount() {
    Axios.get('/data.json').then(res => {
      this.setState(() => {
        return {
          list: res.data.data.goodsList
        }
      })
    })

    new Swiper('.swiper-container', {
      slidesPerView: 3,
      spaceBetween: 30,
      slidesPerGroup: 3,
      loop: true, // 循环模式选项
      loopFillGroupWithBlank: true,
      pagination: {   // 如果需要分页器
        el: '.swiper-pagination',
        clickable: true,
      },
      navigation: {
        nextEl: '.swiper-button-next',
        prevEl: '.swiper-button-prev',
      },
    })
  }

  render() {
    const { list } = this.state
    console.log(list)
    return (
      <div className='page-all'>
        <div className="swiper-container">
          <div className="swiper-wrapper">
            {
              list.map(item => {
                return (
                  <div className="swiper-slide" key={item.id}>
                    <p><img src={item.imgurl} /></p>
                  </div>
                )
              })
            }
          </div>
          {/* 如果需要分页器 */}
          <div className="swiper-pagination"></div>
          {/* 如果需要导航按钮 */}
          <div className="swiper-button-next"></div>
          <div className="swiper-button-prev"></div>
        </div>
      </div>

    )
  }
}

 

 

效果图:

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐