diff --git a/packages/tooltip/src/main.js b/packages/tooltip/src/main.js index 146d69a38..be2993358 100644 --- a/packages/tooltip/src/main.js +++ b/packages/tooltip/src/main.js @@ -42,6 +42,12 @@ export default { } }, + data() { + return { + handlerAdded: false + }; + }, + beforeCreate() { if (this.$isServer) return; @@ -77,7 +83,7 @@ export default { if (!this.$slots.default || !this.$slots.default.length) return this.$slots.default; const vnode = getFirstComponentChild(this.$slots.default); - if (!vnode) return vnode; + if (!vnode || this.handlerAdded) return vnode; const data = vnode.data = vnode.data || {}; const on = vnode.data.on = vnode.data.on || {}; const nativeOn = vnode.data.nativeOn = vnode.data.nativeOn || {}; @@ -97,6 +103,7 @@ export default { methods: { addEventHandle(old, fn) { + this.handlerAdded = true; return old ? Array.isArray(old) ? old.concat(fn) : [old, fn] : fn; },