Popup: fix missing padding-right when overflow-y is scroll

pull/6571/head
Leopoldthecoder 2017-08-12 14:55:34 +08:00 committed by 杨奕
parent 018931a74f
commit 7753bd8931
1 changed files with 3 additions and 1 deletions

View File

@ -2,6 +2,7 @@ import Vue from 'vue';
import merge from 'element-ui/src/utils/merge';
import PopupManager from 'element-ui/src/utils/popup/popup-manager';
import getScrollBarWidth from '../scrollbar-width';
import { getStyle } from '../dom';
let idSeed = 1;
const transitions = [];
@ -198,7 +199,8 @@ export default {
}
scrollBarWidth = getScrollBarWidth();
let bodyHasOverflow = document.documentElement.clientHeight < document.body.scrollHeight;
if (scrollBarWidth > 0 && bodyHasOverflow) {
let bodyOverflowY = getStyle(document.body, 'overflowY');
if (scrollBarWidth > 0 && (bodyHasOverflow || bodyOverflowY === 'scroll')) {
document.body.style.paddingRight = scrollBarWidth + 'px';
}
document.body.style.overflow = 'hidden';