From 99f739bfeea544c34333f6eda946dca9c698871b Mon Sep 17 00:00:00 2001 From: Mickey <819469353@qq.com> Date: Thu, 23 Nov 2017 19:51:20 +0800 Subject: [PATCH] =?UTF-8?q?[new=20feature]Popup:=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E9=81=AE=E7=BD=A9=E5=B1=82overlayClass=E5=92=8CoverlayStyle?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=EF=BC=8C=E4=BB=A5=E6=8F=90=E4=BE=9B=E9=81=AE?= =?UTF-8?q?=E7=BD=A9=E5=B1=82=E8=87=AA=E5=AE=9A=E4=B9=89=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=20=20(#343)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 增加遮罩层overlayClass和overlayStyle属性,以提供遮罩层自定义样式 * Revert "增加遮罩层overlayClass和overlayStyle属性,以提供遮罩层自定义样式" This reverts commit 3ae02a0f103595cb0c93e6a0f422c63fe363b129. * 增加遮罩层overlayClass和overlayStyle属性,以提供遮罩层自定义样式 --- packages/mixins/popup/index.js | 18 +++++++++++++++++- packages/mixins/popup/popup-manager.js | 8 +++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/packages/mixins/popup/index.js b/packages/mixins/popup/index.js index 208833abd..38c69e677 100644 --- a/packages/mixins/popup/index.js +++ b/packages/mixins/popup/index.js @@ -28,6 +28,16 @@ export default { preventScroll: { type: Boolean, default: false + }, + // 遮罩层额外样式 + overlayStyle: { + type: String, + default: '' + }, + // 遮罩层额外类 + overlayClass: { + type: String, + default: '' } }, @@ -98,7 +108,13 @@ export default { } if (this.overlay) { - manager.openModal(this._popupId, context.plusKeyByOne('zIndex'), this.$el); + manager.openModal({ + id: this._popupId, + zIndex: context.plusKeyByOne('zIndex'), + dom: this.$el, + extraClass: this.overlayClass, + extraStyle: this.overlayStyle + }); if (this.lockOnScroll) { document.body.classList.add('van-overflow-hidden'); } diff --git a/packages/mixins/popup/popup-manager.js b/packages/mixins/popup/popup-manager.js index 62ebc8c6c..dda1bceeb 100644 --- a/packages/mixins/popup/popup-manager.js +++ b/packages/mixins/popup/popup-manager.js @@ -32,12 +32,18 @@ const PopupManager = { } }, - openModal(id, zIndex, dom) { + openModal({id, zIndex, dom, extraClass, extraStyle}) { const { modalStack } = context; const exist = modalStack.some(item => item.id === id); if (!exist) { const modal = this.getModal(); + if (extraClass) { + modal.classList.add(extraClass); + } + if (extraStyle) { + modal.style.cssText = `${modal.style.cssText} ${extraStyle}`; + } modal.style.zIndex = zIndex; const parentNode = dom && dom.parentNode && dom.parentNode.nodeType !== 11 ? dom.parentNode : document.body;