Skip to content

Commit c9551a5

Browse files
authored
Merge pull request #1860 from akiran/select-issue-aug10
select and waitForAnimate issue
2 parents a814dad + a1e3106 commit c9551a5

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

examples/__tests__/__snapshots__/MultipleItems.test.js.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -989,7 +989,7 @@ exports[`Multiple Items should show slides first 3 slides when middle dot is cli
989989
<h2> Multiple items </h2>
990990
<div class=\\"slick-slider slick-initialized\\" dir=\\"ltr\\"><button type=\\"button\\" data-role=\\"none\\" class=\\"slick-arrow slick-prev\\" style=\\"display: block;\\"> Previous</button>
991991
<div class=\\"slick-list\\">
992-
<div class=\\"slick-track\\" style=\\"opacity: 1; transform: translate3d(0px, 0px, 0px); transition: transform 500ms ease;\\">
992+
<div class=\\"slick-track\\" style=\\"opacity: 1; transform: translate3d(0px, 0px, 0px);\\">
993993
<div data-index=\\"-3\\" tabindex=\\"-1\\" class=\\"slick-slide slick-cloned\\" aria-hidden=\\"true\\" style=\\"width: 0px;\\">
994994
<div>
995995
<div tabindex=\\"-1\\" style=\\"width: 100%; display: inline-block;\\">

src/inner-slider.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,9 @@ export class InnerSlider extends React.Component {
383383
value => this.state.lazyLoadedList.indexOf(value) < 0
384384
);
385385
onLazyLoad && slidesToLoad.length > 0 && onLazyLoad(slidesToLoad);
386+
if (!this.props.waitForAnimate && this.animationEndCallback) {
387+
clearTimeout(this.animationEndCallback);
388+
}
386389
this.setState(state, () => {
387390
asNavFor && asNavFor.innerSlider.slideHandler(index);
388391
if (!nextState) return;
@@ -401,6 +404,7 @@ export class InnerSlider extends React.Component {
401404
changeSlide = (options, dontAnimate = false) => {
402405
const spec = { ...this.props, ...this.state };
403406
let targetSlide = changeSlide(spec, options);
407+
if (targetSlide === this.state.targetSlide) return;
404408
if (targetSlide !== 0 && !targetSlide) return;
405409
if (dontAnimate === true) {
406410
this.slideHandler(targetSlide, dontAnimate);

0 commit comments

Comments
 (0)