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

QQ登录

只需一步,快速开始

查看: 1725|回复: 8

[结贴] 关于Data组件筛选数据的问题。

[复制链接]

6

主题

30

帖子

106

积分

初级会员

Rank: 2

积分
106
QQ
发表于 2016-8-24 21:21:59 | 显示全部楼层 |阅读模式
碰到了Data组件刷新的奇怪问题,一个scrollview套了List,绑定了Data组件,另外有两个按钮,每个按钮个绑定了一个Click事件,如下:
        Model.prototype.topsClick = function(event){
                debugger;
                this.comp("listData").setFilter("top1", "fDescription = 'CROP TOPS'");
                this.comp("listData").refreshData();

        };
       
        Model.prototype.racebackClick = function(event){
                debugger;
                this.comp("listData").setFilter("top2", "fDescription = 'RACERBACK'");
                this.comp("listData").refreshData();
        };
就是做了个最简单的筛选,现在的情况是,页面运行,加载数据正常,显示数据组件各种功能都正常,当点击两个按钮中的任意一个数据也能正常加载进来,
但是当再点击另一个按钮的时候,数据就无法正常显示,只显示scrollview的已经到最后。。。
debugger调试显示数据都已经加载过来了,现在不知道是哪里的问题???奇怪的是昨天测试还是正常的,两个按钮怎么点击也不会有问题,请教解决问题的方法?

0

主题

1639

帖子

497

积分

中级会员

Rank: 3Rank: 3

积分
497
QQ
发表于 2016-8-25 11:03:58 | 显示全部楼层
top1 和 top2都生效了,你第二个做过滤的时候,需要把第一个的条件清空
回复我的时候请点击我当前评论旁边的回复按钮,能保证第一时间看到您的回复,在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

6

主题

30

帖子

106

积分

初级会员

Rank: 2

积分
106
QQ
 楼主| 发表于 2016-8-25 13:29:48 | 显示全部楼层
本帖最后由 lsh902 于 2016-8-25 13:39 编辑
cgrddv 发表于 2016-8-25 11:03
top1 和 top2都生效了,你第二个做过滤的时候,需要把第一个的条件清空

初学x5,我也考虑到这个点了,但是不知道怎么清空条件,我用了clear()试着清空,但是clear是把所有数据都清空了,这里还是不明白怎么处理,麻烦详细说一下,谢谢!
回复 支持 反对

使用道具 举报

0

主题

1639

帖子

497

积分

中级会员

Rank: 3Rank: 3

积分
497
QQ
发表于 2016-8-25 13:30:44 | 显示全部楼层
lsh902 发表于 2016-8-25 13:29
初学x5,我也考虑到这个点了,但是不知道怎么清空条件,麻烦详细说一下,谢谢! ...

再set一遍给个空就可以饿了
回复我的时候请点击我当前评论旁边的回复按钮,能保证第一时间看到您的回复,在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

6

主题

30

帖子

106

积分

初级会员

Rank: 2

积分
106
QQ
 楼主| 发表于 2016-8-25 14:53:03 | 显示全部楼层
cgrddv 发表于 2016-8-25 13:30
再set一遍给个空就可以饿了

根据您的提示,我做了下面两种方式的测试:
第一种在每次set之前都清空一下。
        Model.prototype.topsClick = function(event){
                this.comp("listData").setFilter("top2", "");
                this.comp("listData").setFilter("top1", "fDescription = 'CROP TOPS'");
                this.comp("listData").refreshData();

        };
       

       
        Model.prototype.racebackClick = function(event){
                this.comp("listData").setFilter("top1", "");
                this.comp("listData").setFilter("top2", "fDescription = 'RACERBACK'");
                this.comp("listData").refreshData();
        };
第二种把set的name都设置成一样的。
        Model.prototype.topsClick = function(event){
                this.comp("listData").setFilter("top1", "fDescription = 'CROP TOPS'");
                this.comp("listData").refreshData();

        };
        Model.prototype.racebackClick = function(event){
                this.comp("listData").setFilter("top1", "fDescription = 'RACERBACK'");
                this.comp("listData").refreshData();
        };
如果不止两个按钮的时候,有7、8个按钮的情况,第二种方式比较合适,但是不清楚把所有的setFilter的name参数设置成一样,是否可行?
回复 支持 反对

使用道具 举报

0

主题

1639

帖子

497

积分

中级会员

Rank: 3Rank: 3

积分
497
QQ
发表于 2016-8-25 14:59:07 | 显示全部楼层
lsh902 发表于 2016-8-25 14:53
根据您的提示,我做了下面两种方式的测试:
第一种在每次set之前都清空一下。
        Model.prototype.topsClic ...

可以,另外可以在refresh的回调里去写,刷新完就赋空值
回复我的时候请点击我当前评论旁边的回复按钮,能保证第一时间看到您的回复,在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

6

主题

30

帖子

106

积分

初级会员

Rank: 2

积分
106
QQ
 楼主| 发表于 2016-8-25 15:25:03 | 显示全部楼层
cgrddv 发表于 2016-8-25 14:59
可以,另外可以在refresh的回调里去写,刷新完就赋空值

refresh的回调,怎么写代码?
回复 支持 反对

使用道具 举报

0

主题

1639

帖子

497

积分

中级会员

Rank: 3Rank: 3

积分
497
QQ
发表于 2016-8-25 15:27:19 | 显示全部楼层
lsh902 发表于 2016-8-25 15:25
refresh的回调,怎么写代码?

在API里看一下refreshData的说明,或者你把鼠标移上去refreshData也可以看到提示
回复我的时候请点击我当前评论旁边的回复按钮,能保证第一时间看到您的回复,在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

6

主题

30

帖子

106

积分

初级会员

Rank: 2

积分
106
QQ
 楼主| 发表于 2016-8-25 15:45:39 | 显示全部楼层
cgrddv 发表于 2016-8-25 15:27
在API里看一下refreshData的说明,或者你把鼠标移上去refreshData也可以看到提示 ...

谢谢,你的回复,明白了!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-26 16:19 , Processed in 0.058064 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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