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

QQ登录

只需一步,快速开始

查看: 2139|回复: 6

[结贴] 页面加载时实现数据查询展示

[复制链接]

97

主题

580

帖子

1359

积分

金牌会员

Rank: 6Rank: 6

积分
1359
QQ
发表于 2016-12-26 16:53:38 | 显示全部楼层 |阅读模式
具体描述一下问题:我在contents的第一个content里添加了scrollview,里面放个List,关联data组件。data组件本身是空的,需要通过ajax与服务器交互后获取数据。我在scrollview的pulldown事件中获取服务器数据并关联到data组件中,页面能正常显示。我现在的问题是页面加载时data组件是空的,显示不到数据。我需要在Content的onActive事件里触发一下服务器查询才可以么??有没有触发scrollview的pulldown的方式?我页面内调用pulldown对应的函数有报错,不确定具体原因现在。如果没有主动触发pulldown的操作,那是不是要在onActive事件中单独写一个获取服务器数据的代码?这样感觉代码利用性有点差了,不知道到底具体有什么办法
传说中路过
发表于 2016-12-26 17:08:59 | 显示全部楼层
list 组件的disablePullToRefresh 和  disableInfiniteLoad 属性设置为false 即可!
scrollView 滚动的时候,自然会触发data的更新!
list 的autoLoad 设置为 true  就能实现加载刷新data !

data 自定义ajax ,请使用onCustomRefresh 事件!
关于data的用法:http://doc.wex5.com/comps-data/
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

97

主题

580

帖子

1359

积分

金牌会员

Rank: 6Rank: 6

积分
1359
QQ
 楼主| 发表于 2016-12-26 17:16:45 | 显示全部楼层
liangyongfei 发表于 2016-12-26 17:08
list 组件的disablePullToRefresh 和  disableInfiniteLoad 属性设置为false 即可!
scrollView 滚动的时候 ...

我的意思是我在content首次加载的时候就触发执行一次从服务端获取数据。我已经在scrollview的pulldown里写好了获取的方法。想在首次加载的时候触发一次pulldown,scrollview支持么??我看只有pullup的,没有pulldown的。我的疑问是首次加载时怎么触发一次向服务端的数据查询,data的刷新还要靠后处理
传说中路过
回复 支持 反对

使用道具 举报

发表于 2016-12-26 17:36:10 | 显示全部楼层
carbinechun 发表于 2016-12-26 17:16
我的意思是我在content首次加载的时候就触发执行一次从服务端获取数据。我已经在scrollview的pulldown里 ...

首次加载也是要需要data组件去做数据交互的!
不要使用pullup 和 pulldown 来做!这个事件可能会触发多次!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

97

主题

580

帖子

1359

积分

金牌会员

Rank: 6Rank: 6

积分
1359
QQ
 楼主| 发表于 2016-12-27 08:52:29 | 显示全部楼层
本帖最后由 carbinechun 于 2016-12-27 08:57 编辑
liangyongfei 发表于 2016-12-26 17:36
首次加载也是要需要data组件去做数据交互的!
不要使用pullup 和 pulldown 来做!这个事件可能会触发多次 ...

使用onCustomRefresh 事件可以实现了,但还有个问题,页面加载前有个判断,如果是登陆状态的才可以自动加载,如果是未登陆的要跳到登陆页面,登陆成功后再切换到自动加载的content的时候data组件的onCustomRefresh 事件不触发,这个地方需要手动下拉才刷新,除了通过pulldown手动的方式外有没有自动触发的方式?我自己试着在content的onActive事件中将data组件refresh一下,但会提示onCustomRefresh 事件中代码有误,加的遮罩组件为null报错,这应该是组件和事件执行的先后顺序有关系吧
传说中路过
回复 支持 反对

使用道具 举报

发表于 2016-12-27 11:02:46 | 显示全部楼层
carbinechun 发表于 2016-12-27 08:52
使用onCustomRefresh 事件可以实现了,但还有个问题,页面加载前有个判断,如果是登陆状态的才可以自动加 ...

那就把scrollView组件的 自动下拉刷新设置为false
并且list 和 data的autoLoad也设置为false ,就不会自动加载数据了!
登录以后,你写代码调用
this.comp('list').refresh(true) 就可以触发刷新了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

97

主题

580

帖子

1359

积分

金牌会员

Rank: 6Rank: 6

积分
1359
QQ
 楼主| 发表于 2016-12-27 16:34:34 | 显示全部楼层
liangyongfei 发表于 2016-12-27 11:02
那就把scrollView组件的 自动下拉刷新设置为false
并且list 和 data的autoLoad也设置为false ,就不会自 ...

受你指点启发,我在登陆成功后刷新一下data组件可以自动加载了。可以结帖了,谢谢
传说中路过
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-26 08:03 , Processed in 0.066501 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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