Extjs4 Combo和Stores:在queryMode = local时删除过滤器?

Joh*_*don 5 extjs store extjs4

我很沮丧,因为每当我使用它来支持组合时我的商店都会被过滤掉.有什么方法可以禁用它吗?

情景

我有一个带有data字段的商店; 实例化存储时加载的对象数组.我使用这个商店在我的应用程序的不同区域驱动一堆组合.不幸的是,我的组合在商店中应用过滤器,导致使用同一商店的其他组合仅在稍后显示过滤后的值,而不是整个列表.

解决方法

我的愚蠢的解决方法是combo.getStore().clearFilter()在我完成组合后打电话,但这会很快变老,并且可能会在某处引入一个错误,我敢肯定.

如果我queryMode:'local'从我的组合配置中删除,一切都很好,除了现在方便的预先输入功能不再有效; 我只是在下拉列表中显示了一个项目列表,我甚至无法浏览匹配项目的输入字母.这比普通的html select标签更糟糕!

有任何想法吗?

谢谢!

Var*_*har 2

您不能这样做,因为过滤不是应用于combo而是应用于store。您可以尝试创建相同的多个实例store并使用它。虽然我不知道它是否会起作用。

Ext.create('combo', {
      //other config
      store : Ext.create('my.store')
});
Run Code Online (Sandbox Code Playgroud)

如果您将其设为不可编辑,它将起作用combo,因为此时无法应用过滤。但是,正如您所说,您需要提前输入功能,您需要创建store.