sunrise52java
sunrise52java
  • 发布:2015-08-04 17:57
  • 更新:2017-02-23 00:38
  • 阅读:15539

HelloMUI例子中的下拉刷新

分类:MUI

例子中的下拉刷新,如果有新记录就会追加到li前面。

现在的要求是:不管当前页面已经上拉加载了多少记录了,下拉刷新后,显示最新的10条记录,其余的再上拉加载进行查看。

我在HelloMUI的demo里面改了一下:

/**  
             * 下拉刷新具体业务实现  
             */  
            function pulldownRefresh() {  
                setTimeout(function() {  
                    var table = document.body.querySelector('.mui-table-view');  
                    table.innerHTML='';//追加前先将原来的数据清除  
                    var cells = document.body.querySelectorAll('.mui-table-view-cell');  
                    for (var i = cells.length, len = i + 20; i < len; i++) {  
                        var li = document.createElement('li');  
                        li.className = 'mui-table-view-cell';  
                        li.innerHTML = '<a class="mui-navigate-right">Item ' + (i + 1) + '</a>';  
                        //显示最新的20条数据;  
                        table.appendChild(li);  
                    }  
                    mui('#pullrefresh').pullRefresh().endPulldownToRefresh(); //refresh completed  
                }, 1500);  
            }

这样是可以实现我的要求,但是,如果我上拉加载了所有数据,出现“没有更多数据了”后,如果我再下拉刷新,新的数据是可以显示,但“没有更多数据了”仍然存在,我不可以再进行上拉加载。

请大家帮帮忙,初次接触MUI,谢谢!

2015-08-04 17:57 负责人:无 分享
已邀请:
GETONE

GETONE

1.把endPulldownToRefresh放到loadUnions的ajax完成或发生错误里边。
2.在调用mui('#pullrefresh').pullRefresh().endPulldownToRefresh();之后紧接着调用mui('#pullrefresh').pullRefresh().refresh(true);

参考:http://ask.dcloud.net.cn/question/8098?notification_id-41668rf-falseitem_id-14015__answer_id-14015__single-TRUE#!answer_14015

  • d***@126.com

    调用mui('#pullrefresh').pullRefresh().refresh(true);后就数据重复了

    2017-02-23 00:36

sunrise52java

sunrise52java (作者)

请教一下,有什么简洁的办法能查出最新的记录呢?

后台分页查询,10条一页。

假如新纪录小于10条,分页查询,会把Top10 返回,我需要去比较哪些是页面没有的,然后再加到列表前面;
但如果新纪录多于10条,假设15条,若是用分页查询,肯定只能查出最新的10条,这样追加到页面列表前面,岂不是丢了5条?

请问各位是如何处理的?

akill

akill

关注中

小闹

小闹

看很多人都在问这个问题,我大概解释一下:在数据库中存储每条记录的时间戳,并且在你加载页面的时候返回给前端,此时不管你是要刷新新数据,还是加载旧数据,都是将时间戳带回给后台,与数据库中的比较。

  • GodBless

    那如果 列表重的数据有人修改了呢?那不永远在那了?

    2017-07-17 17:27

evcardxx

evcardxx

哥呀,你数据库的数据不是按时间排序的吗,下拉刷新查找第一页的数据就是了,同时将上拉刷新置回初始状态

d***@126.com

d***@126.com - 老了!

怎样操作”将上拉刷新置回初始状态“,这个困扰我很久了!

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