diff --git a/common/changes/@visactor/vchart/fix-crosshair-not-hide_2025-10-24-07-58.json b/common/changes/@visactor/vchart/fix-crosshair-not-hide_2025-10-24-07-58.json new file mode 100644 index 0000000000..43fa01a642 --- /dev/null +++ b/common/changes/@visactor/vchart/fix-crosshair-not-hide_2025-10-24-07-58.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "fix: crosshair should hide when mouseleave chart\n\n", + "type": "none", + "packageName": "@visactor/vchart" + } + ], + "packageName": "@visactor/vchart", + "email": "dingling112@gmail.com" +} \ No newline at end of file diff --git a/packages/vchart/src/component/crosshair/base.ts b/packages/vchart/src/component/crosshair/base.ts index d44ee6d06c..fc9716d7bc 100644 --- a/packages/vchart/src/component/crosshair/base.ts +++ b/packages/vchart/src/component/crosshair/base.ts @@ -158,6 +158,7 @@ export abstract class BaseCrossHair { const fieldSpec = (this._spec as any)[field]; @@ -166,11 +167,14 @@ export abstract class BaseCrossHair c.getSpecIndex() === axisIndex) as IAxis; if (axis) { + hasDefaultCrosshair = true; this._stateByField[field].currentValue.clear(); this._stateByField[field].currentValue.set(axisIndex, { axis, datum }); } } }); + + return hasDefaultCrosshair; } protected _updateVisibleCrosshair() { @@ -193,8 +197,8 @@ export abstract class BaseCrossHair { this.clearOutEvent(); - this.hide(); + this.hideCrosshair(); }; protected _getAxisInfoByField(field: 'x' | 'y' | 'category' | 'value') {