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

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

分类: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

喂謀謀

喂謀謀

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

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