Skip to content

Commit 9ba82a7

Browse files
committed
fix leave flash
1 parent 337c915 commit 9ba82a7

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

src/QueueAnim.jsx

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -276,9 +276,12 @@ class QueueAnim extends React.Component {
276276
return;
277277
}
278278
}
279+
data[dataKey][1] = 0;
279280
}
280281
if (nodeStyle[dataKey] && parseFloat(nodeStyle[dataKey])) {
281282
data[dataKey][1] = parseFloat(nodeStyle[dataKey]);
283+
} else {
284+
data[dataKey][1] = 0;
282285
}
283286
});
284287
return data;
@@ -331,15 +334,22 @@ class QueueAnim extends React.Component {
331334
return;
332335
}
333336
const interval = transformArguments(this.props.interval, key, i)[1];
334-
const delay = transformArguments(this.props.delay, key, i)[1];
335-
const duration = transformArguments(this.props.duration, key, i)[1];
337+
let delay = transformArguments(this.props.delay, key, i)[1];
338+
let duration = transformArguments(this.props.duration, key, i)[1];
336339
const order = this.props.leaveReverse ? (this.keysToLeave.length - i - 1) : i;
337340
velocity(node, 'stop');
338-
341+
delay = interval * order + delay;
339342
const data = this.getInitAnimType(node, this.getVelocityLeaveConfig(key, i));
340-
343+
// 当数据为 [0, 0] 时,,有延时的话会出现跳动。。。
344+
Object.keys(data).forEach(dataKey => {
345+
const item = data[dataKey];
346+
if (Array.isArray(item) && item[0] === 0 && item[1] === 0) {
347+
delay = 0;
348+
duration = 0;
349+
}
350+
});
341351
velocity(node, data, {
342-
delay: interval * order + delay,
352+
delay,
343353
duration,
344354
easing: this.getVelocityEasing(key, i)[1],
345355
begin: this.leaveBegin.bind(this),

0 commit comments

Comments
 (0)