首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React-slick:如何同步3个滑块

React-slick:如何同步3个滑块
EN

Stack Overflow用户
提问于 2018-10-09 17:15:09
回答 1查看 1.9K关注 0票数 2

我正在使用react-slick滑块与3个滑块同步。有2个滑块,它工作得很好,但当我尝试3个滑块和2个参考时,它不工作。

代码语言:javascript
复制
constructor(props) {
    super(props);
    this.state = {
        nav1: null,
        nav2: null,
        nav3: null,
    };
}

componentDidMount() {
    this.setState({
        nav1: this.slider1,
        nav2: this.slider2,
        nav3: this.slider3,
    });
}

<Slider
       className="background-slider"
       asNavFor={this.state.nav2, this.state.nav3}
       ref={slider => (this.slider1 = slider)}
       {...settings1}> ...
</Slider>
<Slider
       className="content-slider"
       asNavFor={this.state.nav1, this.state.nav3}
       ref={slider => (this.slider2 = slider)}
       {...settings2}> ...
</Slider>
<Slider
       className="person-slider"
       asNavFor={this.state.nav2, this.state.nav1}
       ref={slider => (this.slider3 = slider)}
       {...settings3}> ...
</Slider>

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-10-09 20:40:02

"asNavFor“属性需要单个值,而不是一列值,所以在其中放置多个ref将不起作用。

如果你让每个滑块指向下一个滑块,然后让最后一个点回到第一个滑块,这样做是可行的:

代码语言:javascript
复制
constructor(props) {
    super(props);
    this.state = {
        nav1: null,
        nav2: null,
        nav3: null,
    };
}

componentDidMount() {
    this.setState({
        nav1: this.slider1,
        nav2: this.slider2,
        nav3: this.slider3,
    });
}

<Slider
       className="background-slider"
       asNavFor={this.state.nav2}
       ref={slider => (this.slider1 = slider)}
       {...settings1}> ...
</Slider>
<Slider
       className="content-slider"
       asNavFor={this.state.nav3}
       ref={slider => (this.slider2 = slider)}
       {...settings2}> ...
</Slider>
<Slider
       className="person-slider"
       asNavFor={this.state.nav1}
       ref={slider => (this.slider3 = slider)}
       {...settings3}> ...
</Slider>

作为附注:我不知道这是官方支持的行为,还是仅仅是一个愉快的巧合,所以请谨慎使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52717389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档