4***@qq.com
4***@qq.com
  • 发布:2025-06-20 16:59
  • 更新:2025-06-20 16:59
  • 阅读:45

【报Bug】uni-popup 在安卓上点击遮罩层,对话框不能消失,ios却可以

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win11

HBuilderX类型: 正式

HBuilderX版本号: 4.66

手机系统: Android

手机系统版本号: Android 15

手机厂商: vivo

手机机型: PJA110

页面类型: nvue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

<uni-popup ref="showMoreView" type="right" maskBackgroundColor="rgba(0,0,0,0.2)" :isMaskClick="true">
<view class="showMoreView_container">
<view class="down_menu_3">
<view @click="queryType" class="down_menu_3_view">
<image :src="imgPath+'menu_1.png'" class="down_menu_3_img" />按房间查看
</view>
<view @click="queryDate" class="down_menu_3_view">
<image :src="imgPath+'menu_2.png'" class="down_menu_3_img" />日期搜索
</view>
<view @click="photoSearch" class="down_menu_3_view">
<image :src="imgPath+'menu_3.png'" class="down_menu_3_img" />拍照搜索
</view>
</view>
</view>
</uni-popup>

操作步骤:

必现

预期结果:

同ios的表现一致,点击遮罩层弹窗自动消失

实际结果:

现在不能自动消失

bug描述:

安卓手机上使用uni-popup实现对话框,点击遮罩层没有反应,但是运行在ios上时有反应,对话框自动消失。
uni-popup的第337行,在安卓上执行时不能执行到this.$emit('maskClick'),把this.$emit('maskClick')提到第一行后,问题解决。
onTap() {
if (this.clearPropagation) {
// fix by mehaotian 兼容 nvue
this.clearPropagation = false
return
}
this.$emit('maskClick')
if (!this.mkclick) return
this.close()
},

2025-06-20 16:59 负责人:无 分享
已邀请:

要回复问题请先登录注册