Extjs存储器查找全部。

6

Ext.data.Store的文档中,find方法的说明如下:

通过指定字段值,在该存储区中查找第一个匹配记录的索引。

我的问题是如何查找该存储区中所有匹配记录的索引?


1
ExtJS的版本会很有帮助。 - sra
3个回答

10

我认为最符合你需求的函数是queryBy(),因为它返回匹配记录的数组。

你仍然可以使用each()函数来检查模型是否符合条件,然后将它们添加到数组中。但是这个函数更适合遍历存储中的所有记录,而不仅仅是用于“过滤”数据。


1
query方法 也提供了 queryBy 的快捷方式。 - GreenGiant

1

Extjs的store有几个方法,可以通过特定字段值返回第一个匹配的记录。要获取所有过滤后的记录,您必须使用each函数,然后匹配或过滤所需的记录。


1

如果您正在使用ExtJS 3.x,假设您的数据存储由store引用

Ext.pluck(store.filter('field', 'value'), 'id');

返回一个包含匹配记录索引的数组。


从4.x开始,filter()不再返回任何内容。此外,Ext.pluck将在Ext.Array.pluck下找到。另一点是在此之后对存储进行了过滤。 - sra
正如你所评论的那样,ExtJS版本会很有帮助。我的答案适用于ExtJS 3.4版本。 - malteo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接