uniapp 微信小程序uview2.0 u-popup弹出层弹出在遮罩层不影响卡片正常勾选的情况下实现点击空白区域关闭弹层

如图所示,在底部弹出层出现的时候希望点击卡片能够正常勾选。同时点击空白区域又可以关闭底部弹层,如果使用u-popup自带的遮罩层可以实现点击但是不可以实现勾选,实现勾选不能实现关闭。解决办法就是使用**@touchend.stop来代替点击事件,并在子元素上使用@touchend.stop**来阻止冒泡事件产生,附上代码大家可以参考。

html 复制代码
	<view class="container" @touchend.stop="endShake()">
		<view class="card-box">
			<u-checkbox-group shape="circle" @change="checkboxChange()" activeColor="#3d80fc" iconSize="32" size='32'>
				<view :class="['card-item', 'shadow', shake ? `shake-${item.runStatus}` : `status-${item.runStatus}`]"
					@touchstart.prevent="gtouchstart(item)" @touchend.stop="gtouchEnd(item)" @touchmove.stop="gtouchmove()"
					v-for="item in cardInfo" :key="item.id">
					<view class="info-box" v-if="!shake">
						<PowerChart :value="item.voltage" />
						<SignalChart :value="item.rssi" />
					</view>
					<view class="info-box" style="z-index: 99;" v-else>
						<u-checkbox :name="item.id"></u-checkbox>
					</view>
					<image :src="'/static/images/'+ item.imgpath" mode=""></image>
					<view>{{item.name}}</view>
					<view v-if="item.runStatus == 10" class="mask"></view>
				</view>
				<view class="card-add shadow" @touchend.stop="toAdd()">
					<image src="/static/images/card-add.png" mode=""></image>
					<view>添加设备</view>
				</view>
			</u-checkbox-group>
		</view>
		
		<!-- <u-popup :show="shake" :round="10" mode="bottom" :overlayOpacity="0" @close="closeShake"> -->
		<u-popup :show="shake" :round="10" mode="bottom" :overlay="false " @close="closeShake">
			<view class="bom-box">
				<view class="item-bom" @click="removeDevice()">
					<u-icon name="trash" size="36"></u-icon>
					删除
				</view>
				<view class="item-bom" @click="famshow()">
					<u-icon name="list" size="36"></u-icon>
					分配
				</view>
			</view>
		</u-popup>
		
		<u-popup :show="show" :round="10" mode="bottom" @close="close">
			<scroll-view @scrolltolower="onScrolltolower" class="scroll-view" scroll-y>
				<view class="item-txt" @click="famClick(item)" v-for="(item,index) in famList" :key="index">{{item.name}}</view>
			</scroll-view>
		</u-popup>

		<image class="bgimg" src="../../static/images/home-bg.png" mode=""></image>
		<m-tabbar v-if="!shake" fixed fill current="0" :tabbar="DefaultTabbarConfig"></m-tabbar>

	</view>
相关推荐
我命由我1234512 分钟前
微信小程序 - 避免在 data 初始化中引用全局变量
开发语言·前端·javascript·微信小程序·小程序·前端框架·js
骨子里的偏爱2 小时前
uniapp实现数据存储到本地文件,除非卸载app,否则数据一直存在
javascript·chrome·uni-app
我命由我123454 小时前
微信小程序 bind:tap 与 bindtap 的区别
开发语言·前端·javascript·微信小程序·小程序·前端框架·js
_Jyann_5 小时前
uniapp两种方式实现自定义tabbar
前端·javascript·uni-app
郑州光合科技余经理5 小时前
PHP技术栈:上门系统海外版开发与源码解析
java·开发语言·javascript·git·uni-app·php·uniapp
2501_915921435 小时前
Fiddler抓包工具详解,HTTPHTTPS调试、代理配置与接口分析实战教程
服务器·ios·小程序·fiddler·uni-app·php·webview
undsky5 小时前
【RuoYi-SpringBoot3-UniApp】:一套代码,多端运行的移动端开发方案
前端·uni-app
diygwcom6 小时前
UniApp 鸿蒙NEXT蓝牙连接及数据写入
华为·uni-app·harmonyos
我命由我123456 小时前
微信小程序 - 页面跳转并传递参数(使用路由参数、使用全局变量、使用本地存储、使用路由参数结合本地存储)
开发语言·前端·javascript·微信小程序·小程序·前端框架·js