2

我在尝试过滤关联结果时遇到问题。我有一个包含许多子类别的类别列表。我正在使用 MVC 架构。所以,这是我正在尝试做的一个例子:

var subcategories = category.subcategories();

subcategories.filter("title", "some text");
subcategories.each( function (item) { console.log(item.get('title')); } );

一些过滤器未应用的方式。它总是返回原始存储、相同数量的记录等。

我也在这样做:

var subcategories = category.subcategories();

subcategories.filterBy(function(item) {
   console.log( item );
   return (item.get('title') == 'some text');
});

但是console.log它甚至没有运行一次!商店里满是唱片,我已经查到了

有任何想法吗?难道我做错了什么?谢谢

4

2 回答 2

1

几个问题:

  1. 您使用的是什么版本的 Sencha Touch?

  2. 在 Sencha Touch 中使用关联时,您仍然需要自己做很多工作。它不是完全自动的。例如,您需要手动将所有子类别添加到每个类别对象。你在做这个吗?

于 2013-04-25T14:53:56.960 回答
1

这可能是一个迟到的答案,但它将帮助许多正在寻找相同问题的解决方案的人。

关键是调用setRemoteFilter(false)Association's Store。

var products = user.products();
products.setRemoteFilter(false); // without this line, filter on Association's Store didn't work
var categorieFilter = new Ext.util.Filter({
    property: 'categories',
    value   : 'Electronic'
});
products.setFilters(categorieFilter);
于 2013-05-11T12:17:11.943 回答