Date: Mon, 4 Mar 2024 19:56:19 +0800
Subject: [PATCH 2/2] feat: exist control event
---
packages/semi-foundation/tooltip/foundation.ts | 4 ++--
packages/semi-ui/tooltip/index.tsx | 9 +++++++++
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/packages/semi-foundation/tooltip/foundation.ts b/packages/semi-foundation/tooltip/foundation.ts
index 12346a241c..c543ecd469 100644
--- a/packages/semi-foundation/tooltip/foundation.ts
+++ b/packages/semi-foundation/tooltip/foundation.ts
@@ -86,9 +86,9 @@ export default class Tooltip
, S = Record> e
}
init() {
- const { wrapperId } = this.getProps();
+ const { wrapperId, exist } = this.getProps();
this._mounted = true;
- this._bindEvent();
+ exist && this._bindEvent();
this._shouldShow();
this._initContainerPosition();
if (!wrapperId) {
diff --git a/packages/semi-ui/tooltip/index.tsx b/packages/semi-ui/tooltip/index.tsx
index ad6ca9f147..755f2d94bb 100644
--- a/packages/semi-ui/tooltip/index.tsx
+++ b/packages/semi-ui/tooltip/index.tsx
@@ -527,6 +527,15 @@ export default class Tooltip extends BaseComponent {
this.props.visible ? this.foundation.show() : this.foundation.hide();
}
}
+
+ if (prevProps.exist !== this.props.exist) {
+ if (this.props.exist) {
+ this.foundation._bindEvent();
+ } else {
+ this.foundation.unBindEvent();
+ }
+ }
+
if (!isEqual(prevProps.rePosKey, this.props.rePosKey)) {
this.rePosition();
}