开始一直以为是代码写得有问题,经过很长一段时间的调试和真机测试后发现这个应该还是组件的问题,其中原理不明,请官方开发人员帮忙解惑一下
横向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> <view class="tab_item">标签很长很长很长</view>
2018-09-11