我想扩展dstore / Rest以获取用于过滤商店的参数。本文建议这是改变dstore查询的理想方法:http://www.sitepen.com/blog/2014/11/17/introducing-dstore/
示例:
new MyExtendedRestStore({color: 'red'});

我希望MyExtendedRestStore的内部改变GET查询,以便现在在过滤器中设置颜色,这样任何刷新调用都会坚持在查询中添加color = red。如果我理解正确,它也应该强制dstore / Trackable mixin服从过滤器。
答案 0 :(得分:3)
在dgrid 0.4中,使用OnDemandList
或Pagination
的实例可以接受任何集合 - 无论是根存储还是由于对该存储执行操作而生成的集合。 filter
就是这样一种行为。
在您的情况下,您声明您希望网格始终只显示红色项目,因此您可以非常轻松地将网格传递给已过滤的集合,并且不需要Rest
的自定义扩展名:
var TrackableRestStore = declare([ Rest, Trackable ]);
var store = new TrackableRestStore({ target: '...' });
var filteredCollection = store.filter({ color: 'red' });
var grid = new OnDemandGrid({
collection: filteredCollection,
columns: ...
});
这也是在dgrid的Grids and Stores tutorial结束时讨论的。