dom.scrollToElement 如果第一个参数是 在第一屏的元素,则不会滚动,如果第一个参数不是再第一屏的话 会触发滚动
- 发布:2022-04-13 11:16
- 更新:2022-04-18 12:10
- 阅读:965
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: window10家庭版
HBuilderX类型: 正式
HBuilderX版本号: 3.3.13
手机系统: Android
手机系统版本号: Android 11
手机厂商: 小米
手机机型: redmi9
页面类型: nvue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
希望能滚动
希望能滚动
实际结果:
不能滚动
不能滚动
bug描述:
dom.scrollToElement 如果第一个参数是 在第一屏的元素,则不会滚动,如果第一个参数不是再第一屏的话 会触发滚动
5 个回复
刘家后人 (作者)
ios没有此问题,只有安卓会有 ,鸿蒙系统也会
DCloud_UNI_Anne
请提供简单可复现的完整示例(上传附件),方便我们快速排查问题哦。
【bug优先处理规则】https://ask.dcloud.net.cn/article/38139
刘家后人 (作者)
<template>
<view class="flex-1">
<view class="item" @click="scrollTo"> 按一下 </view>
<list>
<cell v-for="(item, index) in 50" :ref="'item' + index">
<view class="item">{{ index }}</view>
</cell>
</list>
</view>
</template>
<script>
const dom = uni.requireNativePlugin('dom');
export default {
data() {
return {};
},
methods: {
scrollTo() {
console.log(1212);
dom.scrollToElement(this.$refs.item2[0], { offset: 100 });
this.$nextTick(() => {
this.$forceUpdate();
});
}
}
};
</script>
<style>
.flex-1 {
flex:1;
}
.item {
height: 100rpx;
border-bottom: 1rpx solid #ccc;
}
</style>
2022-04-13 11:45
刘家后人 (作者)
安卓 通过测试发现 scrollTo执行之后 不会马上跳到定位元素 要触发下scroll事件 就能到定位
2022-04-13 11:47
刘家后人 (作者)
附件
DCloud_UNI_Anne
已反馈给相关人员排查,已加分,感谢您的反馈!
海角
又不行了
2024-04-13 14:00
DCloud_UNI_Anne
HBuilderX Alpha 3.4.6 已修复
刘家后人 (作者)
好的,这个 正式版大概多久会发布
2022-04-18 16:07
DCloud_UNI_Anne
回复 5***@qq.com: HBuilderX 3.4.6正式版已发布
2022-04-21 12:07