[英]React-slick: how sync 3 sliders
我正在使用帶有3個滑塊的react-slick滑塊同步。 使用2個滑塊可以正常工作,但是當我嘗試使用3個帶有2個引用的滑塊時它不起作用。
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>
謝謝
“ asNavFor”道具需要單個值,而不是值列表,因此將多個引用放在那兒將不起作用。
看來可行的是,如果您讓每個滑塊指向下一個滑塊,然后使最后一個點回到第一個滑塊,如下所示:
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>
附帶說明:我不知道這是官方支持的行為還是偶然的巧合,因此請謹慎使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.