uni-app nvue页面scroller设置scrollToBegin为false在ios机型上无效
uni-app nvue页面scroller设置scrollToBegin为false在ios机型上无效
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | win10企业版 | HBuilderX |
操作步骤:
- 动态改变scroller容器里面的内容,设置scrollToBegin为false无效,依然会滚动到初始位置
预期结果:
- 容器不滚动回到初始位置
实际结果:
- 容器会滚动到初始位置
bug描述:
- 动态改变scroller容器里面的内容,设置scrollToBegin为false无效,依然会滚动到初始位置
更多关于uni-app nvue页面scroller设置scrollToBegin为false在ios机型上无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
不支持 scrollToBegin 这个属性,weex 官方源码也是没有实现的
更多关于uni-app nvue页面scroller设置scrollToBegin为false在ios机型上无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
如果你想实现的是类似于聊天场景下 下拉加载历史消息 这种功能的话 可以吧 scroller组件使用css scale翻转 从而实现
谢谢回复,不是你说的这种场景,我是左边scroller右边list,用bingdingx绑定左右同步滚动,list下拉会带动scroller滑动,然而scroller内容变化时滚动条会回到起始位置,设置的scrollToBegin为false无效
回复 7***@qq.com: 我不知道你要做什么 但是如果你的主要问题是 scroller内容变化时滚动条会回到起始位置 依然可以通过这个方法实现 你对数组的操作应该是 unshift 吧
在 uni-app
中使用 nvue
页面时,scroller
组件的 scrollToBegin
属性用于控制是否在页面加载时自动滚动到顶部。如果你发现 scrollToBegin="false"
在 iOS 设备上无效,可能是由于以下原因:
1. iOS 默认行为
iOS 的 UIScrollView
在某些情况下可能会自动滚动到顶部,尤其是在页面加载时。这种行为可能与 scrollToBegin
属性的设置冲突。
2. nvue 的渲染机制
nvue
页面使用的是原生渲染,与 vue
页面的 WebView 渲染不同。原生渲染在某些情况下可能会忽略某些属性或行为。
3. 解决方案
你可以尝试以下方法来解决这个问题:
-
手动控制滚动位置: 你可以在页面加载后手动设置
scroller
的滚动位置为0
,以确保它不会自动滚动到顶部。<template> <scroller ref="myScroller"> <!-- 内容 --> </scroller> </template> <script> export default { mounted() { this.$nextTick(() => { this.$refs.myScroller.scrollTo(0, 0); }); } } </script>
-
使用
scroll-view
替代scroller
: 如果你不需要scroller
的特定功能,可以尝试使用scroll-view
组件,它可能在某些情况下表现更稳定。<scroll-view scroll-y="true"> <!-- 内容 --> </scroll-view>
-
检查
nvue
版本: 确保你使用的uni-app
和nvue
版本是最新的,因为某些问题可能在新版本中已经修复。 -
使用
page
组件的scrollTo
方法: 如果你需要在整个页面中控制滚动,可以使用page
组件的scrollTo
方法。uni.pageScrollTo({ scrollTop: 0, duration: 0 });