From 740f9a950b8a9904be367caa54efac9cecd9db12 Mon Sep 17 00:00:00 2001 From: xile611 Date: Wed, 25 Jun 2025 17:02:45 +0800 Subject: [PATCH 1/2] fix: only calculate multi layer label items when need, fix #4056 --- packages/vchart/src/component/axis/mixin/band-axis-mixin.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/vchart/src/component/axis/mixin/band-axis-mixin.ts b/packages/vchart/src/component/axis/mixin/band-axis-mixin.ts index 803eae5cd1..adcde71b99 100644 --- a/packages/vchart/src/component/axis/mixin/band-axis-mixin.ts +++ b/packages/vchart/src/component/axis/mixin/band-axis-mixin.ts @@ -178,7 +178,8 @@ export class BandAxisMixin { const labelItems: Dict[][] = []; let preData: any[] = []; - this._scales.forEach((scale, index) => { + // 只有需要展示多层标签的时候,才需要计算,否则不需要计算 + (this._spec.showAllGroupLayers ? this._scales : [this._scales[0]]).forEach((scale, index) => { const tickData = this._tickDataMap[index]; // 因为多层级标签会依赖上一层标签的分组值定位,所以如果上一层标签没有内容,那么就直接获取 bandScale 的 domain() From 9e875eb1aa39b603079c71c600d74b0e6138a545 Mon Sep 17 00:00:00 2001 From: xile611 Date: Wed, 25 Jun 2025 17:04:24 +0800 Subject: [PATCH 2/2] docs: update changlog of rush --- .../fix-multi-layer-performance_2025-06-25-09-04.json | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 common/changes/@visactor/vchart/fix-multi-layer-performance_2025-06-25-09-04.json diff --git a/common/changes/@visactor/vchart/fix-multi-layer-performance_2025-06-25-09-04.json b/common/changes/@visactor/vchart/fix-multi-layer-performance_2025-06-25-09-04.json new file mode 100644 index 0000000000..5904778ef7 --- /dev/null +++ b/common/changes/@visactor/vchart/fix-multi-layer-performance_2025-06-25-09-04.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "fix: only calculate multi layer label items when need, fix #4056\n\n", + "type": "none", + "packageName": "@visactor/vchart" + } + ], + "packageName": "@visactor/vchart", + "email": "dingling112@gmail.com" +} \ No newline at end of file