Swiper在2.1.5/2.1.6下设置setState会触发自动轮播



  • 大概想做一个swiper动的时候,scrollview会联动的效果。

    代码大致如下:

    <Swiper 
    current={current}
    className='trashbin-swiper'
    onChange={this.swiperChangeHanlder}
    >
    </Swiper>
    

    监听onChagne的函数

    swiperChangeHanlder = (e) => {
        const {current} = e.detail
    
        let targetId = ""
        switch (e.detail.current) {
          case 0:
            targetId = "x1"
            break
          case 1:
            targetId = "x2"
            break
          case 2:
            targetId = "x3"
            break
          case 3:
            targetId = "x4"
            break
          default:
            targetId = "x1"
        }
    
        this.setState({current, targetView: targetId})
      }
    

    打开页面,手动左移一次swiper,然后就开始自动轮播了。

    同样的代码在1.3.4中没有这个问题。


登录后回复