n***@163.com
n***@163.com
  • 发布:2016-08-22 15:37
  • 更新:2019-01-03 19:31
  • 阅读:6396

下拉刷新选项卡,重置上拉加载的问题

分类:MUI

pullrefresh_with_tab.html 根据这个demo做的案例,步骤是这样:
1.上拉加载ajax获取数据,没有数据后用self.endPullUpToRefresh(true) 来终止加载并且显示"没有更多",
2.然后在下拉刷新重新获取第1页的数据,这个时候上拉加载并没有起作用,显示的还是“没有更多”,
3.我尝试用mui('#pullup-container').pullRefresh().refresh(true) 来重置上拉加载,但是并没有用,
和这个帖子里是同样的问题:http://ask.dcloud.net.cn/question/9858

帮帮忙看怎么解决这个问题,遇到这个问题的人应该不少

2016-08-22 15:37 负责人:无 分享
已邀请:
n***@163.com

n***@163.com (作者)

endPullUpToRefresh: function(finished) {  
	if (finished) {  
		//this.finished = true;  
		this.pullUpTipsIcon.innerHTML = this.options.up.contentnomore;  
		//this.element.removeEventListener('dragup', this);  
		//window.removeEventListener('scroll', this);  
	} else {  
		this.pullUpTipsIcon.innerHTML = this.options.up.contentdown;  
	}  
		this.loading = false;  
		if (this.isInScroll) {  
			$(this.element.parentNode).scroll().refresh();  
		}  
	},

mui.pullToRefresh.js 文件内注释以上代码的可以解决问题,这样在没数据的时候 self.endPullUpToRefresh(true);只会改文字内容,没有数据的时候自己判断下,下拉刷新的时候再把文字改回去,其实改个提示状态就行了,干嘛要移除事件呢

pullDownLoading: function() {  
			if (this.loading) {  
				return;  
			}  
			if (!this.pullDownTips) {  
				this.initPullDownTips();  
				this.dragEndAfterChangeOffset(true);  
				return;  
			}  
			this.loading = true;  
			this.pullDownTips.classList.add(CLASS_TRANSITIONING);  
			this.pullDownTips.style.webkitTransform = 'translate3d(0,' + this.options.down.height + 'px,0)';  
			this.options.down.callback.apply(this);  
			/*下拉刷新把提示文字改回去*/  
			this.pullUpTipsIcon.innerHTML = this.options.up.contentdown;  
		},  

  • 蛋蛋_0713

    你最后怎么解决的,改源码?


    2016-08-25 13:30

  • n***@163.com (作者)

    回复 蛋蛋_0713:mui.pullToRefresh.js 改的这个js文件


    2016-09-27 16:52

4***@qq.com

4***@qq.com

在下拉刷新的回调函数将pull实例中的结束标志重置病重新绑定:如下
self.endPullUpToRefresh(false);
self.refresh(true);

dcean

dcean

@nnntxxx@163.com
解决了问题,特来感谢。

我用的是官方示例中pullrefresh_with_tab.html的上拉下拉方案。
遇到的问题是选项卡上拉没有数据后调用endPullupToRefresh(true), 但用户下拉后要重新启用上拉加载,使用mui('#pullup-container').pullRefresh().refresh(true)时显示没有refresh这个方法。

在你这里换了一种思路,实在是很厉害。

  • 中国有嘻哈

    你好 我想问一下 您是怎么解决的


    2017-07-31 10:33

  • dcean

    就是按着楼上这位同学nnntxxx@163.com的方法,把源码更改了呀,楼上说的蛮详细的。


    2017-07-31 21:36

喂謀謀

喂謀謀

官网的有的是存在问题的, 我是在原型里面去找的.

该问题目前已经被锁定, 无法添加新回复