起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3376|回复: 9

[处理中2] ScrollView 只要显示了‘已经到最后’,无论data里有没数据,都无法再上划刷新

[复制链接]

3

主题

11

帖子

21

积分

新手上路

Rank: 1

积分
21
QQ
发表于 2016-4-20 11:21:43 | 显示全部楼层 |阅读模式
  1. 页面上有一个 ScrollView,里面有一个DataTables,
  2. DataTables绑定了 data1 数据源,data1设置了两列[id、code]

  3.         //data1设置了CustomRefresh事件,当ScrollView上划和下拉时都会进入这个事件
  4.         Model.prototype.checkListDataCustomRefresh = function(event){
  5.                   
  6.                   self.comp("data1").setTotal(10);
  7.                   
  8.                 var offset = event?event.offset:0;
  9.                 var limit = event?event.limit:5;
  10.                   
  11.                                  if(offset==0){//下拉操作,offset=0,清空data1
  12.                                          this.comp("data1").clear();
  13.                                  }  
  14.                                  self.comp("data1").newData({
  15.                                         defaultValues:[
  16.                                         {id: 11,code:222}
  17.                                         ]
  18.                                 });
  19.         }
  20.        
复制代码



       
        疑问:
        页面第一次加载 ,可以进行上划加载数据,直到data1中的条数大于 total时,会显示 ‘已经到最后’;
        这时进行下拉操作,data1数据清空,data1中的数据条数是小于 total的,但再进行上划操作就无效了,一直显示 ‘已经到最后’
       
        一句话总结:也就是说,ScrollView 只要显示了‘已经到最后’,无论data1里有没数据,数据是否小于 total,都无法再上划刷新。

12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2016-4-20 11:27:48 | 显示全部楼层
WeX5版本是多少?
帮助->关于Eclipse
回复 支持 反对

使用道具 举报

3

主题

11

帖子

21

积分

新手上路

Rank: 1

积分
21
QQ
 楼主| 发表于 2016-4-20 11:36:14 | 显示全部楼层
hecr 发表于 2016-4-20 11:27
WeX5版本是多少?
帮助->关于Eclipse

你好。。

我的版本:
Justep studio.
版本: 5.3.2.4119
回复 支持 反对

使用道具 举报

3

主题

11

帖子

21

积分

新手上路

Rank: 1

积分
21
QQ
 楼主| 发表于 2016-4-20 15:17:01 | 显示全部楼层
没有人回复了吗。。。求大神啊。。。。
回复 支持 反对

使用道具 举报

发表于 2016-4-20 15:50:54 | 显示全部楼层
先下拉一次可以吗??
或者执行下data.refreshData()方法!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2016-4-20 16:08:45 | 显示全部楼层
建议你测试一下你的版本上外卖是否正常?
比如:
第一步:打开包卖, 上划到最后;
第二步:向下拉一下,会触data清空后刷新;
第三步:这时还能上划
回复 支持 反对

使用道具 举报

3

主题

11

帖子

21

积分

新手上路

Rank: 1

积分
21
QQ
 楼主| 发表于 2016-4-21 09:33:00 | 显示全部楼层
hecr 发表于 2016-4-20 16:08
建议你测试一下你的版本上外卖是否正常?
比如:
第一步:打开包卖, 上划到最后;

外卖是正常的。
但是外卖的实现方法和我的不一样,
外卖是使用这个加载数据:data.loadData(resultData, append);
如果参数传入的resultData没有值 ,则就显示 已经到最后

我的代码是使用这个加载:self.comp("data1").newData({ defaultValues:[  ]   });
如果data1的total 小于实际的数量,就显示 已经到最后

两个原理是不一样的。
我现在下拉刷新后,清空了data1,然后重新设置了 total,,此时total是大于实际的数量的,明明还有数据,依旧显示 已经到最后了。。

我的代码很简单,大神们复制过去运行一下,就知道是什么情况了。
回复 支持 反对

使用道具 举报

3

主题

11

帖子

21

积分

新手上路

Rank: 1

积分
21
QQ
 楼主| 发表于 2016-4-21 09:52:49 | 显示全部楼层
liangyongfei 发表于 2016-4-20 15:50
先下拉一次可以吗??
或者执行下data.refreshData()方法!

下拉是可以的,下拉后,数据显示出来了,但最下面显示 ‘已经到最后’
为什么要显示 ‘已经到最后’呢,因为上划刷新时,划到最后了,,,这时再做下拉操作,数据清掉了,显示第一页数据,都很正常,唯一不正常的,就是不应该显示‘已经到最后’。
感觉如果只要曾经显示过‘已经到最后’,无论怎么清data和设置total,,,都不会改变‘已经到最后’

data.refreshData() 试过了没用
回复 支持 反对

使用道具 举报

发表于 2016-4-21 12:06:45 | 显示全部楼层
1433797200 发表于 2016-4-21 09:33
外卖是正常的。
但是外卖的实现方法和我的不一样,
外卖是使用这个加载数据:data.loadData(resultData,  ...

你好楼主,这个问题需要我在本地环境进行问题重现,所以会花费较长时间,请你耐心等待,我完成后会第一时间反馈结果,谢谢!2016042100015
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

28

主题

117

帖子

677

积分

高级会员

Rank: 4

积分
677
QQ
发表于 2022-12-16 09:42:29 | 显示全部楼层
22年了,7年了,该问题一直都有,就是没人给解决。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-3-29 16:05 , Processed in 0.062256 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表