Skip to content

Commit

Permalink
fix(animate): 修复饼图动画无角度变化时其余属性未更新问题
Browse files Browse the repository at this point in the history
  • Loading branch information
liwenbo committed Dec 6, 2023
1 parent 9f8db50 commit 089f8cd
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/animate/animation/sector-path-update.ts
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ export function sectorPathUpdate(shape: IShape, animateCfg: GAnimateCfg, cfg: An
const diffEndAngle = curEndAngle - preEndAngle;
// 没有 diff 时直接返回最终 attrs,不需要额外动画
if (diffStartAngle === 0 && diffEndAngle === 0) {
shape.attr('path', path);
shape.attr(toAttrs);
return;
}

Expand Down
34 changes: 34 additions & 0 deletions tests/bugs/pie-update-animate-spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import { Chart } from '../../src';
import { createDiv } from '../util/dom';

describe('pie update animate', () => {
it('pie should update other attribute without angle change', () => {
const data = [
{ type: '一线城市', value: 20 },
{ type: '二线城市', value: 0 },
{ type: '三线城市', value: 10 },
];
const chart = new Chart({
container: createDiv(),
width: 600,
height: 300,
autoFit: true,
});
chart.data(data);

chart.coordinate('theta', {
radius: 0.75,
});

const interval = chart.interval().adjust('stack').position('value').color('type', ['blue', 'green', 'yellow']);
chart.render();

const shape = interval.elements[0].shape;

interval.color('type', ['#ff0000']);
chart.render(true);
expect(shape.attr('fill')).toEqual('#ff0000');

chart.destroy();
});
});

0 comments on commit 089f8cd

Please sign in to comment.