uList控件滑动bug
Opened this issue · 2 comments
版本
2.0.10
转载链接
重现步骤
2个bug,步骤:
1、布局使用 <u-list><u-list-item v-for></u-list-item></u-list>
嵌套
2、初始化10条数据。
3、滑动到底部使用 @scrolltolower 事件加载更多回调新增10条数据。
4、【Bug 1】加载更多后继续向下滑动,在第11条数据上滑时,会发生数据错位,第11条数据滑动到顶部再向上偏移一点时会瞬间变成第10条数据。
5、【Bug 2】页面滑动到顶部,会继续收到 @scrolltolower 事件加载更多回调。
期望的结果是什么?
1、数据不发生错乱。
2、滑动到顶部不会收到 @scrolltolower 事件。
实际的结果是什么?
1、数据错乱。
2、滑动到顶部也会收到 @scrolltolower 事件。
请看2.0.10中u-list源码的 scrolltoupper()方法中你们写的代码,也发送scrolltolower事件,注释还写虎狼之词。。。。
// #ifndef APP-NVUE
// 滚动到底部时触发,非nvue有效
scrolltoupper(e) {
uni.$u.sleep(30).then(() => {
this.$emit('scrolltolower')
// 这一句很重要,能绝对保证在性功能障碍的webview,滚动条到顶时,取消偏移值,让页面置顶
this.offset = 0
})
}
// #endif
数据错乱的问题使用 <u-list><view v-for></view></u-list>
这种嵌套就没问题了,应该是 <u-list-item>
有问题。
滚动异常的原因是因为在u-list
组件中,设置了一个padding-top
的属性导致的。