From 930345d3f0246e62e7da32e9f03ae0146189cd4d Mon Sep 17 00:00:00 2001 From: skie1997 Date: Wed, 21 Jan 2026 19:35:11 +0800 Subject: [PATCH 1/3] fix: add protect code of tooltip handler --- packages/vchart/src/component/tooltip/tooltip.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/vchart/src/component/tooltip/tooltip.ts b/packages/vchart/src/component/tooltip/tooltip.ts index c781069792..b90120e34b 100644 --- a/packages/vchart/src/component/tooltip/tooltip.ts +++ b/packages/vchart/src/component/tooltip/tooltip.ts @@ -68,7 +68,7 @@ export class Tooltip extends BaseComponent implements ITooltip { * 是否正在浏览tooltip内容 */ private _isEnterTooltip: boolean; - protected declare _spec: ITooltipSpec; + declare protected _spec: ITooltipSpec; tooltipHandler?: ITooltipHandler; @@ -175,7 +175,7 @@ export class Tooltip extends BaseComponent implements ITooltip { return; } - const container = this.tooltipHandler.getRootDom?.(); + const container = this.tooltipHandler?.getRootDom?.(); if (container) { container.addEventListener('pointerenter', () => { @@ -608,7 +608,7 @@ export class Tooltip extends BaseComponent implements ITooltip { // 隐藏 tooltip const handler = this._spec.handler ?? this.tooltipHandler; - if (handler.hideTooltip) { + if (handler?.hideTooltip) { const result = handler.hideTooltip.call(handler, params); if (!result) { this._isTooltipShown = false; @@ -630,7 +630,7 @@ export class Tooltip extends BaseComponent implements ITooltip { } this._enterable = newEnterable; - this.tooltipHandler.reInit?.(); + this.tooltipHandler?.reInit?.(); } else { this._initHandler(); } From 1fdb2eb50ded0f2c74ac415ae759adacd354ef75 Mon Sep 17 00:00:00 2001 From: skie1997 Date: Wed, 21 Jan 2026 20:12:30 +0800 Subject: [PATCH 2/3] fix: format problem --- packages/vchart/src/component/tooltip/tooltip.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/vchart/src/component/tooltip/tooltip.ts b/packages/vchart/src/component/tooltip/tooltip.ts index b90120e34b..0171e21b73 100644 --- a/packages/vchart/src/component/tooltip/tooltip.ts +++ b/packages/vchart/src/component/tooltip/tooltip.ts @@ -608,6 +608,7 @@ export class Tooltip extends BaseComponent implements ITooltip { // 隐藏 tooltip const handler = this._spec.handler ?? this.tooltipHandler; + // 防止用户自定义 handler 时,未实现 hideTooltip 方法 if (handler?.hideTooltip) { const result = handler.hideTooltip.call(handler, params); if (!result) { From 60afa3d6938af7f248267aad0b9d24b9a533a402 Mon Sep 17 00:00:00 2001 From: skie1997 Date: Wed, 21 Jan 2026 20:17:43 +0800 Subject: [PATCH 3/3] fix: format problem --- packages/vchart/src/component/tooltip/tooltip.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vchart/src/component/tooltip/tooltip.ts b/packages/vchart/src/component/tooltip/tooltip.ts index 0171e21b73..80328ae9cd 100644 --- a/packages/vchart/src/component/tooltip/tooltip.ts +++ b/packages/vchart/src/component/tooltip/tooltip.ts @@ -68,7 +68,7 @@ export class Tooltip extends BaseComponent implements ITooltip { * 是否正在浏览tooltip内容 */ private _isEnterTooltip: boolean; - declare protected _spec: ITooltipSpec; + protected declare _spec: ITooltipSpec; tooltipHandler?: ITooltipHandler;