无法动态绑定list组件的showLoadMore属性
Question
无法动态的设置 list 组件的 showLoadMore 属性,安卓和iOS均存在这个问题。
Environment.
安卓和iOS均使用eros最新版本
What do you think may be caused by the analysis of the problem.
iOS端查看了源码,设置上拉和下拉是在 bmScroller_viewDidLoad 中实现的,此方法只在初始化的时候调用一次,故动态改变 showLoadMore 时不会再去更改header 和 footer的隐藏和显示。猜测安卓端也是同样问题
iOS端已发PR,安卓等大神修复
Android 这边的实现我看了,其实可以叫做是 setLoadMore,就是这个属性是在初始化的时候来设置该 list 是否支持加载更多,如果要改的话其实算是一个功能修改了。
+1,现在数据加载完成后还显示那个加载更多。。。求修复。。。大神,还有个问题就是:为什么我每次loadMore 之后 滚动条默认会回到top上去?
IOS 升级base lib 到1.3.6就解决了那个加载更多的属性设置问题,但是还是有那个回滚到顶上的问题。。。
还有个问题,虽然1.3.6解决了showLoadMore 的动态变更,但是只能变更一次。。例如初始化的时候为true数据加载完成之后设置showLoadMore 为false,这时候下拉刷新重置showLoadMore 为true则不生效了。
@xiaohuapunk
@zhouxianjun
- 回滚到顶上的问题是看看是不是设置数据的时候不是用
append方式,是直接给数组赋值? - 关于第二个问题,有两个解决思路
- 你应该判断当前页面是否超过一页,如果不满一页就不显示加载更多;同时如果加载完成没有更多数据了,这个时候应该关闭上拉加载功能
- 使用
weex自带的loadmore,是无限加载的形式(ps:注意loadMore和loadmore的使用区别)
@zhongdom 谢谢,
- 这个问题应该是我使用错了,我用的 直接赋值。
2.我想表达的是,上拉加载更多与下拉刷新同时使用,当所有数据加载完成后(没有下一页数据了),我会设置
showLoadMore为false关闭上拉加载更多。但这时候用户采用下拉刷新后,数据会回到第一页。这个时候用户想再加载更多怎么办?(我再设置showLoadMore无效)
@zhouxianjun
回滚到顶上的问题是看看是不是设置数据的时候不是用
append方式,是直接给数组赋值?关于第二个问题,有两个解决思路
- 你应该判断当前页面是否超过一页,如果不满一页就不显示加载更多;同时如果加载完成没有更多数据了,这个时候应该关闭上拉加载功能
- 使用
weex自带的loadmore,是无限加载的形式(ps:注意loadMore和loadmore的使用区别)
回滚顶上去是因为我调用了refreshEnd函数,即使是用 this.list = [ ...this.list, ...data]也没问题。
iOS端 showLoadMore 设置为 false 后再设置成 true ,此时不能上拉加载,尝试用以下代码修复,未能生效
if (!isShowLoadMore) {
if (scrollView.mj_footer) {
scrollView.mj_footer.hidden = YES;
}
} else {
if (scrollView.mj_footer) {
scrollView.mj_footer.hidden = NO;
}
}
@zhongdom 请问是否有解决?