mirror of https://github.com/ElemeFE/element
Tooltip: avoid adding handler repeatedly
parent
bd7ef92583
commit
2057604e24
|
@ -42,6 +42,12 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
handlerAdded: false
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
beforeCreate() {
|
beforeCreate() {
|
||||||
if (this.$isServer) return;
|
if (this.$isServer) return;
|
||||||
|
|
||||||
|
@ -77,7 +83,7 @@ export default {
|
||||||
if (!this.$slots.default || !this.$slots.default.length) return this.$slots.default;
|
if (!this.$slots.default || !this.$slots.default.length) return this.$slots.default;
|
||||||
|
|
||||||
const vnode = getFirstComponentChild(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 data = vnode.data = vnode.data || {};
|
||||||
const on = vnode.data.on = vnode.data.on || {};
|
const on = vnode.data.on = vnode.data.on || {};
|
||||||
const nativeOn = vnode.data.nativeOn = vnode.data.nativeOn || {};
|
const nativeOn = vnode.data.nativeOn = vnode.data.nativeOn || {};
|
||||||
|
@ -97,6 +103,7 @@ export default {
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
addEventHandle(old, fn) {
|
addEventHandle(old, fn) {
|
||||||
|
this.handlerAdded = true;
|
||||||
return old ? Array.isArray(old) ? old.concat(fn) : [old, fn] : fn;
|
return old ? Array.isArray(old) ? old.concat(fn) : [old, fn] : fn;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue