Tooltip: fix destroy popper

pull/26/head
qingwei.li 2016-09-07 16:54:29 +08:00
parent 3ca190b42c
commit 4a96617af0
2 changed files with 7 additions and 6 deletions

View File

@ -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"
} }
} }

View File

@ -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();
} }