u-picker 点击遮罩层 无法关闭的原因,尤其要注意最后一点

u-view 组件 u-picker 点击遮罩层无法关闭问题

(说实话uview的文档写的真的一般,跟pc端的完全不能比啊)

三个需要注意的点
1. 需要添加 closeOnClickOverlay 属性

在这里插入图片描述

  <u-picker :show="show" :columns="columns" keyName="label" :closeOnClickOverlay="true"></u-picker>
2. 需要自行处理close回调,并不是添加了 closeOnClickOverlay 属性就可以直接点击遮罩层关闭的
<u-picker :show="show" :columns="columns" keyName="label" :closeOnClickOverlay="true" @close="show = false"></u-picker>
3.也是我自己犯的错误,u-picker 要写在最外层

错误示例:

//这是我之前写的 将 u-picker 写在了 u-form-item 里面,导致我上面两个都写上之后都不能关闭
<u-form-item label-width="140" label="项目选择" @click="show = true">
	<u-input v-model="form.projectName" readonly placeholder="请选择项目" suffixIcon="arrow-right"
		suffixIconStyle="color: #909399" />
	<u-picker :show="show" :columns="projectColumns" cancelText="清空" :closeOnClickOverlay="true" keyName="name"
		@close="show = false" @cancel="handleCancel" @confirm="selectProject"></u-picker>
</u-form-item>

正确写法:
u-picker 应该放在最外层父元素下的第一级,和别的元素同级,如果像我放在u-form-item中就不行
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值