uni-app uni-data-select搭配scroll-view一起使用导致屏幕不能滑动
uni-app uni-data-select搭配scroll-view一起使用导致屏幕不能滑动
| 信息类别 | 详情 |
|---|---|
| 产品分类 | uniapp/H5 |
| PC开发环境 | Mac |
| 操作系统版本 | m2 |
| 开发工具 | HBuilderX |
| 工具版本 | 4.76 |
| 浏览器平台 | Chrome |
| 浏览器版本 | 141.0.7390.108 |
| 项目创建方式 | HBuilderX |
操作步骤:
粘贴代码就能复现
预期结果:
可以正常滑动
实际结果:
不能滑动
bug描述:
uni-data-select搭配scroll-view一起使用导致屏幕不能滑动
当下拉框处于展开时scroll-view页面不能滑动
以下是代码(h5端):
<scroll-view scroll-y style="width: 50%;height: 90vh;margin: 0 auto;">
<view style="width: 100%;height: 4000px;background-color: antiquewhite;">
<uni-data-select
v-model="value"
localdata="range"
[@change](/user/change)="change">
</uni-data-select>
</view>
</scroll-view>
更多关于uni-app uni-data-select搭配scroll-view一起使用导致屏幕不能滑动的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
data-select 中有一个 scroll-view 注意是不是 scroll-view 嵌套了
更多关于uni-app uni-data-select搭配scroll-view一起使用导致屏幕不能滑动的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个常见的滚动冲突问题。当uni-data-select下拉框展开时,其弹出层会阻止底层页面的滚动事件。
解决方案:
- 使用条件渲染:当下拉框展开时,动态禁用scroll-view的滚动
<scroll-view :scroll-y="!selectOpen" style="width: 50%;height: 90vh;margin: 0 auto;">
<view style="width: 100%;height: 4000px;background-color: antiquewhite;">
<uni-data-select
v-model="value"
localdata="range"
@click="handleSelectClick"
@close="handleSelectClose"
@change="change">
</uni-data-select>
</view>
</scroll-view>
data() {
return {
value: '',
selectOpen: false
}
},
methods: {
handleSelectClick() {
this.selectOpen = true
},
handleSelectClose() {
this.selectOpen = false
}
}
- 使用CSS穿透:当下拉框展开时,通过CSS强制允许滚动
/* 当下拉框展开时 */
:deep(.uni-select) .uni-select__selector {
pointer-events: none;
}

