Skip to content

Commit a5ead0a

Browse files
authored
Merge pull request #4194 from VisActor/fix/bug-of-animation
fix: bad case of traverse aniamtion config
2 parents b289afe + 2a2ac73 commit a5ead0a

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

packages/vchart/src/animation/utils.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,8 +181,8 @@ function produceOneByOne(
181181
const userDelayAfter = isFunction(delayAfter)
182182
? delayAfter(datum, g, params)
183183
: isValidNumber(delayAfter)
184-
? delayAfter
185-
: 0;
184+
? delayAfter
185+
: 0;
186186
let oneByOneTime = isFunction(oneByOne) ? oneByOne(datum, g, params) : oneByOne;
187187
if (oneByOneTime === false) {
188188
return userDelayAfter;
@@ -260,7 +260,8 @@ function traverseSpec(spec: any, transform: (node: any, key: string | number) =>
260260
spec[index] = transform(spec[index], index);
261261
traverseSpec(spec[index], transform, excludeKeys);
262262
});
263-
} else if (isObject(spec)) {
263+
} else if (isObject(spec) && typeof spec !== 'function') {
264+
// spec如果是函数, 无需遍历; 一个bad case: 线上环境在function的prototype上挂载了某个属性导致这里遍历的时候出现了死循环
264265
for (const key in spec) {
265266
if (!excludeKeys.includes(key)) {
266267
spec[key] = transform(spec[key], key);

0 commit comments

Comments
 (0)