mirror of https://github.com/ElemeFE/element
Tooltip: fix destroy popper
parent
3ca190b42c
commit
4a96617af0
|
@ -68,6 +68,7 @@
|
||||||
"vue-popup": "^0.2.3",
|
"vue-popup": "^0.2.3",
|
||||||
"vue-router": "^2.0.0-beta.2",
|
"vue-router": "^2.0.0-beta.2",
|
||||||
"webpack": "^1.13.2",
|
"webpack": "^1.13.2",
|
||||||
"webpack-dev-server": "^1.15.1"
|
"webpack-dev-server": "^1.15.1",
|
||||||
|
"wind-dom": "0.0.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import PopperJS from 'main/utils/popper';
|
import PopperJS from 'main/utils/popper';
|
||||||
|
import { once } from 'wind-dom/src/event';
|
||||||
/**
|
/**
|
||||||
* @param {HTMLElement} [reference=$refs.reference] - The reference element used to position the popper.
|
* @param {HTMLElement} [reference=$refs.reference] - The reference element used to position the popper.
|
||||||
* @param {HTMLElement} [popper=$refs.popper] - The HTML element used as popper, or a configuration used to generate the popper.
|
* @param {HTMLElement} [popper=$refs.popper] - The HTML element used as popper, or a configuration used to generate the popper.
|
||||||
|
@ -100,9 +100,7 @@ export default {
|
||||||
|
|
||||||
doDestroy() {
|
doDestroy() {
|
||||||
if (this.showPopper) return;
|
if (this.showPopper) return;
|
||||||
|
this.popperJS && this.popperJS.destroy();
|
||||||
this.popperJS._popper.removeEventListener('transitionend', this.doDestroy);
|
|
||||||
this.popperJS.destroy();
|
|
||||||
this.popperJS = null;
|
this.popperJS = null;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -110,7 +108,9 @@ export default {
|
||||||
if (this.popperJS) {
|
if (this.popperJS) {
|
||||||
this.resetTransformOrigin(this.popperJS);
|
this.resetTransformOrigin(this.popperJS);
|
||||||
if (this.transition) {
|
if (this.transition) {
|
||||||
this.popperJS._popper.addEventListener('transitionend', this.doDestroy);
|
once(this.popperJS._popper, 'webkitTransitionEnd', this.doDestroy);
|
||||||
|
once(this.popperJS._popper, 'oTransitionend', this.doDestroy);
|
||||||
|
once(this.popperJS._popper, 'transitionend', this.doDestroy);
|
||||||
} else {
|
} else {
|
||||||
this.doDestroy();
|
this.doDestroy();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue