uView UI是uni-app生态中常用的UI组件库,其下拉菜单组件默认会显示遮罩层,部分场景下需要去除该遮罩层来优化交互体验,下面介绍具体的实现方式。
uView UI下拉菜单遮罩层属性说明
uView UI的下拉菜单组件u-dropdown提供了控制遮罩层的属性,不同版本属性名称略有差异,核心是通过配置遮罩层显示状态来实现去除效果。
1.x版本配置方式
uView 1.x版本的下拉菜单组件使用mask属性控制遮罩层显示,该属性为布尔类型,默认值为true,设置为false即可关闭遮罩层。
示例代码如下:
<template>
<view>
<!-- 设置mask为false关闭遮罩层 -->
<u-dropdown :mask="false">
<u-dropdown-item title="选项1"></u-dropdown-item>
<u-dropdown-item title="选项2"></u-dropdown-item>
</u-dropdown>
</view>
</template>
<script>
export default {
data() {
return {}
}
}
</script>
2.x版本配置方式
uView 2.x版本对下拉菜单组件的属性做了调整,遮罩层控制属性改为showMask,同样设置为false即可去除遮罩层。
示例代码如下:
<template>
<view>
<!-- 设置showMask为false关闭遮罩层 -->
<u-dropdown :showMask="false">
<u-dropdown-item title="选项1"></u-dropdown-item>
<u-dropdown-item title="选项2"></u-dropdown-item>
</u-dropdown>
</view>
</template>
<script>
export default {
setup() {
return {}
}
}
</script>
注意事项
- 去除遮罩层后,用户点击下拉菜单以外的区域不会自动收起下拉内容,需要自行处理收起逻辑
- 如果页面存在多个下拉菜单,需要为每个
u-dropdown组件单独设置遮罩层属性 - 修改属性后需要重新编译项目,确保配置生效
常见问题排查
如果按照上述配置后遮罩层仍然存在,可以检查以下几点:
- 确认uView UI的版本,使用对应版本的属性名称
- 检查是否存在全局样式覆盖了组件的遮罩层样式,可尝试在组件上添加自定义类名排查
- 确认属性绑定的语法是否正确,布尔值需要使用
:进行动态绑定,避免写成字符串类型