我似乎不太可能让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()
加载了一个空存储(即使它有一些记录))。