横向scroll-view子元素宽度超过600导致的一系列问题
前提:
scroll-view作为页面顶部横向导航(scroll-x为true,scroll-with-animation为true,scroll-view在页面中为fixed定位,scroll-view的子元素总宽度超过600px)
- 当前 Bug 的表现(可附上截图)
1,通过设置scroll-left去改变scroll-view的当前位置。当一次设置的改变值(设置值 - 初始值)大于600(左右),滚动动画无法一次完成,在下一次页面刷新的Tick中才能完成滚动。
2,当前页面上拉至低端,真机上继续上拉进入即将回弹的模式。如果顶端fixed定位的scroll-view的子元素宽度超过600,当页面继续上拉高度超过scroll-view本身加上其到页面顶端的高度时,该scroll-view中的子元素会闪动消失。释放页面回弹后,子元素重新出现。经页面审查,该过程scroll-view元素本身未动,其子元素消失。
- 预期表现
1,无论scroll-view子元素横向宽度多长,能完成滚动动画,滚动至正确位置。
2,页面上拉,fixed定位的scroll-view元素中的子元素能正常显示。
-
复现路径
-
提供一个最简复现 Demo
<scroll-view class=“tab_scroll_lay_fixed” scroll-with-animation=“{{true}}” scroll-x scroll-left=“{{scrollLeft}}”>
<view class=“tab_item”>标签很长很长很长</view>
<view class=“tab_item”>标签很长很长很长</view>
<view class=“tab_item”>标签很长很长很长</view>
<view class=“tab_item”>标签很长很长很长</view>
<view class=“tab_item”>标签很长很长很长</view>
<view class=“tab_item”>标签很长很长很长</view>
…
</scroll-view>
