Skip to content

Commit 56b124d

Browse files
committed
fixed a bug related to unslick
fixes: #1172
1 parent 6156755 commit 56b124d

File tree

1 file changed

+12
-18
lines changed

1 file changed

+12
-18
lines changed

src/slider.js

+12-18
Original file line numberDiff line numberDiff line change
@@ -148,32 +148,26 @@ export default class Slider extends React.Component {
148148
return !!child;
149149
});
150150

151+
let rows = settings.rows || 1;
152+
let slidesPerRow = settings.slidesPerRow || 1;
153+
let variableWidth = settings.variableWidth || false;
154+
151155
// rows and slidesPerRow logic is handled here
152-
if (
153-
settings.variableWidth &&
154-
(settings.rows > 1 || settings.slidesPerRow > 1)
155-
) {
156+
if (variableWidth && (rows > 1 || slidesPerRow > 1)) {
156157
console.warn(
157158
`variableWidth is not supported in case of rows > 1 or slidesPerRow > 1`
158159
);
160+
variableWidth = false;
159161
settings.variableWidth = false;
160162
}
161163
let newChildren = [];
162164
let currentWidth = null;
163-
for (
164-
let i = 0;
165-
i < children.length;
166-
i += settings.rows * settings.slidesPerRow
167-
) {
165+
for (let i = 0; i < children.length; i += rows * slidesPerRow) {
168166
let newSlide = [];
169-
for (
170-
let j = i;
171-
j < i + settings.rows * settings.slidesPerRow;
172-
j += settings.slidesPerRow
173-
) {
167+
for (let j = i; j < i + rows * slidesPerRow; j += slidesPerRow) {
174168
let row = [];
175-
for (let k = j; k < j + settings.slidesPerRow; k += 1) {
176-
if (settings.variableWidth && children[k].props.style) {
169+
for (let k = j; k < j + slidesPerRow; k += 1) {
170+
if (variableWidth && children[k].props.style) {
177171
currentWidth = children[k].props.style.width;
178172
}
179173
if (k >= children.length) break;
@@ -182,15 +176,15 @@ export default class Slider extends React.Component {
182176
key: 100 * i + 10 * j + k,
183177
tabIndex: -1,
184178
style: {
185-
width: `${100 / settings.slidesPerRow}%`,
179+
width: `${100 / slidesPerRow}%`,
186180
display: "inline-block"
187181
}
188182
})
189183
);
190184
}
191185
newSlide.push(<div key={10 * i + j}>{row}</div>);
192186
}
193-
if (settings.variableWidth) {
187+
if (variableWidth) {
194188
newChildren.push(
195189
<div key={i} style={{ width: currentWidth }}>
196190
{newSlide}

0 commit comments

Comments
 (0)