parent
44420acb68
commit
130ea92a19
5 changed files with 69 additions and 45 deletions
|
@ -5,7 +5,8 @@
|
|||
import Vue from 'vue';
|
||||
const isServer = Vue.prototype.$isServer;
|
||||
import { getStyle } from '../../utils/assist';
|
||||
const Popper = isServer ? function() {} : require('popper.js'); // eslint-disable-line
|
||||
// const Popper = isServer ? function() {} : require('popper.js'); // eslint-disable-line
|
||||
import Popper from 'popper.js';
|
||||
|
||||
export default {
|
||||
name: 'Drop',
|
||||
|
@ -41,14 +42,12 @@
|
|||
} else {
|
||||
this.$nextTick(() => {
|
||||
this.popper = new Popper(this.$parent.$refs.reference, this.$el, {
|
||||
gpuAcceleration: false,
|
||||
placement: this.placement,
|
||||
boundariesPadding: 0,
|
||||
forceAbsolute: true,
|
||||
boundariesElement: 'body'
|
||||
});
|
||||
this.popper.onCreate(popper => {
|
||||
this.resetTransformOrigin(popper);
|
||||
modifiers: {
|
||||
computeStyle:{
|
||||
gpuAcceleration: false,
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
@ -59,7 +58,6 @@
|
|||
},
|
||||
destroy () {
|
||||
if (this.popper) {
|
||||
this.resetTransformOrigin(this.popper);
|
||||
setTimeout(() => {
|
||||
if (this.popper) {
|
||||
this.popper.destroy();
|
||||
|
@ -67,12 +65,6 @@
|
|||
}
|
||||
}, 300);
|
||||
}
|
||||
},
|
||||
resetTransformOrigin(popper) {
|
||||
let placementMap = {top: 'bottom', bottom: 'top'};
|
||||
let placement = popper._popper.getAttribute('x-placement').split('-')[0];
|
||||
let origin = placementMap[placement];
|
||||
popper._popper.style.transformOrigin = `center ${ origin }`;
|
||||
}
|
||||
},
|
||||
created () {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue