首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未在Rally SDK中工作的wsapi存储的筛选函数

未在Rally SDK中工作的wsapi存储的筛选函数
EN

Stack Overflow用户
提问于 2014-07-17 23:17:55
回答 1查看 588关注 0票数 1

编辑-答案找到

我明白为什么不起作用了。我正在阅读的“filters”配置字段是基于Ext.data.AbstractStore类的配置,而不是Rally的Rally.data.wsapi.Store配置。read不支持过滤器的“函数”,因为所有的Rally.data.wsapi.Store过滤器都被转换成wsapi语法(我在SDK指南中读过),这是函数不能做的。这就是为什么他们只接受Object[]参数,而不是Function[]参数。

所以,如果我错了,请纠正我,但是我相信wsapi的文档对于“filters”配置字段是错误的。

我正在尝试使用自定义的过滤器功能从用户故事列表中加载功能。我的问题是理解过滤器函数是如何用于存储配置的。现在我有:

代码语言:javascript
复制
_loadFeatures: function(cb){ 
    var me = this;
    Ext.create('Rally.data.wsapi.Store',{
        model: 'PortfolioItem/Feature',
        autoLoad:true,
        start: 0,
        pageSize: 20,
        fetch: //stuff
        context: //stuff
        filters:[
            function(feature){ return false; },
            function(feature){
                return feature.get('Release').Name == me.releaseRecord.get('Name');
            },
            function(feature){
                var oid = feature.get('ObjectID');
                var rs = me.StoryStore.getRecords();
                for(var i = 0;i<rs.length;++i){
                    var r = rs[i];
                    if(r.get('Feature') && r.get('Feature').ObjectID == oid) 
                        return true;
                }
                return false;
            }
        ],
        listeners: //stuff
    });
},

有几件事让我很困惑:

1)我的一项职能,无论发生什么,都是假的,我认为不应该返回任何结果。然而,商店返回所有的功能,就像根本没有过滤器一样(它返回结果的第一页,但页面包含所有功能)

( 2)能否将滤波函数中的参数处理为类似于record.data的“记录”或记录数据。我的意思是我应该使用record.get('ObjectID')还是record.ObjectID。

3)甚至可以使用上面的第三种过滤函数,因为它需要范围变量,并且过滤是在服务器端进行的。范围变量是否保留?

我不知道这些问题的答案,因为我不能将控制台日志放在过滤器函数中,因为它们是过滤服务器端的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-18 22:12:04

在客户端加载并在服务器上进行远程筛选之后,您还可以进一步过滤客户端的存储:

http://help.rallydev.com/apps/2.0rc3/doc/#!/api/Ext.data.Store-method-filterBy

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24815056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档