我似乎不太可能让SearchField在extJS中工作。我想在表格工具栏中实现它,并在表格存储对象上执行过滤。

我有这样的要求设置:

Ext.require([
    'Ext.ux.form.SearchField'
]);

我将搜索字段添加到我的工具栏中,如下所示:
tbar: [

  new Ext.ux.form.SearchField({
       store: tablestore,
       width:320
  })
]

我的表存储非常普通。我将remoteFilter设置为false(我只希望这在本地发生)。
var tablestore = new Ext.data.SimpleStore({
    fields: [
        {name: 'id', type: 'int'},
        {name: 'name'}
    ],
    remoteFilter:false
});

当我单击过滤器按钮时,该列表将被清除。如果删除筛选器,列表将保持清除状态。.没有错误信息。

小提琴:

https://fiddle.sencha.com/#fiddle/6hs

(确保您将版本设置为4.2)

编辑:

这是另一个小提琴。在这个小提琴中,我将搜索字段用作停靠项。它仍然有相同的问题:
https://fiddle.sencha.com/#fiddle/6p4

最佳答案

如果您经常使用,建议您编写自己的搜索字段。如您所见in the code,这是一个简单的扩展,可以在代理中设置参数(默认名称为query)并重新加载商店。
在您的情况下,它不起作用,因为您使用了SimpleStore(并且SimpleStore.load()加载了一个空存储(即使它有一些记录))。

10-05 20:42
查看更多