繁体   English   中英

如果React.js中的状态发生变化,如何更新swiper.js?

[英]How to update swiper.js if state changes in React.js?

我的状态为“ isOpen = false”,状态更改为true时,我需要更新或重新初始化swiper.js。 怎么可能呢?

@observable 
public isOpen=false

private DOMTopSwiper = createRef<HTMLDivElement>()

const topSwiper = new Swiper(this.DOMTopSwiper.current, {
  spaceBetween: 0,
  navigation: {
    nextEl: ".top-swiper-button-next",
    prevEl: ".top-swiper-button-prev",
  },
})

也许您可以使用此https://github.com/kidjp85/react-id-swiper ,然后将支持插入到Swiper组件,该组件是对父组件State的引用。

import React from 'react';
import Swiper from 'react-id-swiper';

class Example extends React.Component {

  state={
     isOpen:false
  };

  render() {
    const params = {
      pagination: {
        el: '.swiper-pagination',
        type: 'bullets',
        clickable: true
      },
      navigation: {
        nextEl: '.swiper-button-next',
        prevEl: '.swiper-button-prev'
      },
      spaceBetween: 30
    }

    return(
      <Swiper isOpen={this.state.isOpen} {...params}>
        <div>Slide 1</div>
        <div>Slide 2</div>
        <div>Slide 3</div>
        <div>Slide 4</div>
        <div>Slide 5</div>
      </Swiper>
    )
  }
}

export default Example;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM