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

QQ登录

只需一步,快速开始

查看: 2159|回复: 8

[结贴] 数据过滤不显示内容

[复制链接]

9

主题

33

帖子

67

积分

初级会员

Rank: 2

积分
67
QQ
发表于 2017-9-5 11:28:48 | 显示全部楼层 |阅读模式
我点击一个商品,跳转到详情页(参数id已传送过来),详情页bassdata已连接数据库,list组件的outload设置true,可以显示所有数据,,我想过滤显示传入的id的数据,怎么不行呀。

传入的参数接收:
        Model.prototype.modelLoad = function(event){
                        if (this.params && this.params.shopID) {
                        shopID = this.params.shopID;
                        goodsID = this.params.goodsID;
     
                }
        };

其他的应该怎么写?
发表于 2017-9-5 12:04:22 | 显示全部楼层
bassdata  和 list 的 list 都设置为false
然后通过data.setFilter 设置过滤条件 刷新数据
http://docs.wex5.com/wex5-ui-question-list-2031/
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

9

主题

33

帖子

67

积分

初级会员

Rank: 2

积分
67
QQ
 楼主| 发表于 2017-9-5 12:43:12 | 显示全部楼层
本帖最后由 zhangyanqing 于 2017-9-5 13:19 编辑
liangyongfei 发表于 2017-9-5 12:04
bassdata  和 list 的 list 都设置为false
然后通过data.setFilter 设置过滤条件 刷新数据
http://docs.wex ...

你好,这些方法写在什么地方,,,我写在goodsDataCustomRefresh(接管刷新)方法中,参数接受到了,报错!

        Model.prototype.goodsDataCustomRefresh = function(event){
                        var data=this.comp('goodsData');
                        var list=this.comp('list1');
                        data.setFilter('filter1',"id" == 1);
                        list.refresh(true)
                        data.filters.clear();

                        };


回复 支持 反对

使用道具 举报

发表于 2017-9-5 13:35:55 | 显示全部楼层
zhangyanqing 发表于 2017-9-5 12:43
你好,这些方法写在什么地方,,,我写在goodsDataCustomRefresh(接管刷新)方法中,参数接受到了,报错 ...

报什么错??
如果接管的是
onCustomRefresh   事件  这个事件里写的方法应该是 data.loadData(数据)  加载数据用的! 而不是再刷新

data刷新的时候!会触发 onCustomRefresh   事件的

而你的代码是 onCustomRefresh    里面调用data的刷新 ,这样就会死循环的!! 一直在触发onCustomRefresh     单实际上没有任何数据加载到组件中!

如果你是baasData 就不要 接管onCustomRefresh    了 ,默认绑定queryAction 就可以了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

9

主题

33

帖子

67

积分

初级会员

Rank: 2

积分
67
QQ
 楼主| 发表于 2017-9-5 15:06:04 | 显示全部楼层
liangyongfei 发表于 2017-9-5 13:35
报什么错??
如果接管的是
onCustomRefresh   事件  这个事件里写的方法应该是 data.loadData(数据)  加 ...

baasData   绑定queryAction后,,在哪里写过滤条件,,我在bassdta上增加过滤条件,怎么获取传递过来的参数(直接写可以【id = 1】,但是传递的参数在哪里定义变量接收,、才能使用)

这里定义显示undefinde
var Model = function(){
                this.callParent();
                goodsID = this.params.goodsID;
        };
回复 支持 反对

使用道具 举报

14

主题

71

帖子

219

积分

中级会员

Rank: 3Rank: 3

积分
219
QQ
发表于 2017-9-5 15:15:12 | 显示全部楼层
zhangyanqing 发表于 2017-9-5 15:06
baasData   绑定queryAction后,,在哪里写过滤条件,,我在bassdta上增加过滤条件,怎么获取传递过来的 ...

如果是baasData组件的话,就需要在js处理事件中拿到这个baasData组件,然后去设置setFilter(),因为setFilter就是通过服务器端来过滤的,过滤完成之后,再将调用这个baasData的refreshData()方法,来刷新前端的数据模型
回复 支持 反对

使用道具 举报

9

主题

33

帖子

67

积分

初级会员

Rank: 2

积分
67
QQ
 楼主| 发表于 2017-9-5 15:39:21 | 显示全部楼层
userkevin 发表于 2017-9-5 15:15
如果是baasData组件的话,就需要在js处理事件中拿到这个baasData组件,然后去设置setFilter(),因为setFil ...

好了,谢谢你!,效果是达到了,但是不知道规范不规范(地方写的对不对,还需要添加什么没有),下面是代码,一个是在load中写的,一个是在参数接收事件中写的

代码如下:

//参数接收事件
        Model.prototype.modelParamsReceive = function(event){
                        if (this.params.goodsID) {
                        goodsID = this.params.goodsID;       
                }
                var data=this.comp('goodsData');
                data.setFilter('filter1',"id='"+goodsID+"'");
                data.refreshData()
                  
        };
回复 支持 反对

使用道具 举报

发表于 2017-9-5 17:18:51 | 显示全部楼层
zhangyanqing 发表于 2017-9-5 15:39
好了,谢谢你!,效果是达到了,但是不知道规范不规范(地方写的对不对,还需要添加什么没有),下面是代 ...

可以的,没问题!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

9

主题

33

帖子

67

积分

初级会员

Rank: 2

积分
67
QQ
 楼主| 发表于 2017-9-5 17:47:16 | 显示全部楼层
liangyongfei 发表于 2017-9-5 17:18
可以的,没问题!

好了,可以结贴了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 10:34 , Processed in 0.066189 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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