From 40391f0006a5e5075c4936abacce29f09df0791a Mon Sep 17 00:00:00 2001 From: wangyaqi Date: Wed, 18 Mar 2020 11:47:16 +0800 Subject: [PATCH] fix: subNvue mask for parentWeview --- .../app-plus/service/api/plugin/sub-nvue.js | 17 ++++++++++++++--- .../framework/webview/parser/sub-nvue-parser.js | 1 + 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/platforms/app-plus/service/api/plugin/sub-nvue.js b/src/platforms/app-plus/service/api/plugin/sub-nvue.js index c1a2b79a6a..9197b71807 100644 --- a/src/platforms/app-plus/service/api/plugin/sub-nvue.js +++ b/src/platforms/app-plus/service/api/plugin/sub-nvue.js @@ -1,7 +1,7 @@ import { requireNativePlugin } from './require-native-plugin' - + function wrapper (webview) { webview.$processed = true @@ -66,9 +66,20 @@ export function getSubNVueById (id) { if (webview && !webview.$processed) { wrapper(webview) } + let oldSetStyle = webview.setStyle + var parentWebview = plus.webview.getWebviewById(webview.__uniapp_mask_id) + webview.setStyle = function (style) { + if (style && style.mask) { + parentWebview.setStyle({ + mask: style.mask + }) + delete style.mask + } + oldSetStyle.call(this, style) + } return webview -} - +} + export function getCurrentSubNVue () { return getSubNVueById(plus.webview.currentWebview().id) } diff --git a/src/platforms/app-plus/service/framework/webview/parser/sub-nvue-parser.js b/src/platforms/app-plus/service/framework/webview/parser/sub-nvue-parser.js index 623f05e6de..e7e756da31 100644 --- a/src/platforms/app-plus/service/framework/webview/parser/sub-nvue-parser.js +++ b/src/platforms/app-plus/service/framework/webview/parser/sub-nvue-parser.js @@ -121,6 +121,7 @@ function initSubNVue (subNVue, routeOptions, webview) { `UNIAPP[webview][${webview.id}]:create[${subNVue.id}]:${JSON.stringify(style)}` ) } + delete style.mask const subNVueWebview = plus.webview.create('', subNVue.id, style, extras) if (isPopup) { -- GitLab