diff --git a/src/platforms/app-plus/service/framework/tab-bar.js b/src/platforms/app-plus/service/framework/tab-bar.js index 5ab9cac78fba009b931904d458a294d9e38ceba4..3d1182db6b1033359483d49811936ca92b1be3b3 100644 --- a/src/platforms/app-plus/service/framework/tab-bar.js +++ b/src/platforms/app-plus/service/framework/tab-bar.js @@ -92,7 +92,9 @@ function showTabBar (animation) { tabBar && tabBar.showTabBar({ animation }) -} +} + +let maskClickCallback = [] export default { id: '0', @@ -104,7 +106,12 @@ export default { tabBar = requireNativePlugin('uni-tabview') } catch (error) { console.log(`uni.requireNativePlugin("uni-tabview") error ${error}`) - } + } + tabBar.onMaskClick(() => { + maskClickCallback.forEach((callback) => { + callback() + }) + }) tabBar && tabBar.onClick(({ index }) => { clickCallback(config.list[index], index) }) @@ -170,7 +177,11 @@ export default { color: mask }) }, - addEventListener (name, callback) { - tabBar.onMaskClick(callback) + addEventListener (name, callback) { + maskClickCallback.push(callback) + }, + removeEventListener (name, callback) { + let callbackIndex = maskClickCallback.indexOf(callback) + maskClickCallback.splice(callbackIndex, 1) } }