gpt4 book ai didi

javascript - wsapi 存储的过滤功能在 Rally SDK 中不起作用

转载 作者:行者123 更新时间:2023-11-28 08:05:39 24 4
gpt4 key购买 nike

编辑-找到答案

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

因此,如果我错了,请纠正我,但我相信 wsapi 商店的文档中的“过滤器”配置字段是错误的。

<小时/>

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

_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)我的函数之一无论如何都会返回 false,我相信它不应该返回任何结果。然而,商店返回所有功能,就像根本没有过滤器一样(它返回结果的第一页,但页面包含所有功能)

2)我们可以将过滤器函数中的参数作为“记录”或记录的数据,类似于record.data。我的意思是我应该使用 record.get('ObjectID') 还是 record.ObjectID。

3)我什至可以使用上面的第三个过滤函数,因为它需要作用域变量,并且过滤是在服务器端完成的。作用域变量是否被保留?

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

最佳答案

在服务器上加载并远程过滤存储后,您仍然可以在客户端进一步过滤存储:

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

关于javascript - wsapi 存储的过滤功能在 Rally SDK 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24815056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com