From 32f19c55614b741b3b7cd2c89ad063d57dee37bb Mon Sep 17 00:00:00 2001 From: neverland Date: Thu, 11 Jul 2019 20:13:04 +0800 Subject: [PATCH] [bugfix] Popup: overlay may cover popup in some cases (#3831) --- .../test/__snapshots__/index.spec.js.snap | 12 ++++++------ src/mixins/popup/overlay.ts | 7 ++++--- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/dropdown-menu/test/__snapshots__/index.spec.js.snap b/src/dropdown-menu/test/__snapshots__/index.spec.js.snap index 27bbff4f3..a4b194afc 100644 --- a/src/dropdown-menu/test/__snapshots__/index.spec.js.snap +++ b/src/dropdown-menu/test/__snapshots__/index.spec.js.snap @@ -27,6 +27,7 @@ exports[`close-on-click-outside 1`] = `
A
A
+
A
@@ -37,7 +38,6 @@ exports[`close-on-click-outside 1`] = `
B
-
+
A
@@ -205,7 +206,6 @@ exports[`show dropdown item 3`] = `
B
-
`; diff --git a/src/mixins/popup/overlay.ts b/src/mixins/popup/overlay.ts index 5a6ac8421..71fe10352 100644 --- a/src/mixins/popup/overlay.ts +++ b/src/mixins/popup/overlay.ts @@ -44,9 +44,10 @@ export function updateOverlay(): void { const { vm, config } = context.top; const el = vm.$el; - const target = el && el.parentNode ? el.parentNode : document.body; - if (target) { - target.appendChild(overlay.$el); + if (el && el.parentNode) { + el.parentNode.insertBefore(overlay.$el, el); + } else { + document.body.appendChild(overlay.$el); } Object.assign(overlay, defaultConfig, config, {