我正在使用Ext 4.1.1
我有一个为queryMode启用了typeAhead的组合框:“local”。只要您只查询displayField的前缀,它就可以正常工作。但是,当您在该显示字段中查询子字符串时,没有任何反应。
{
xtype:"combo",
fieldLabel:"Country",
name:"COUNTRY",
itemId:"countryFilterFld",
labelPad:5,
typeAhead:true
queryMode:"local",
valueField:"ID",
displayField:"LABEL",
store:store
}
例如,其中一个LABEL是“美国”。如果我开始输入“United”,“美国”会被过滤掉。但如果我输入“国家”,根本没有任何事情发生。
我也试过听组合框“更改”事件,然后获取值并过滤组合框存储,但更改事件甚至没有被触发。
listeners: {
change: function(cbo_) {
var store = cbo_.getStore();
store.clearFilter();
store.filter({
property: 'LABEL',
anyMatch: true,
value : cbo_.getValue()
})
}
},
我在更改事件处理程序中设置了一个断点,但即使在我不再关注该字段之后,该事件也永远不会被触发。
答案 0 :(得分:2)
在您的组合中使用anyMatch
:
配置为
true
以允许匹配任何类型的字符 在valueField的值中的位置。
例如:
{
xtype: "combo",
fieldLabel: "Country",
name: "COUNTRY",
itemId: "countryFilterFld",
labelPad: 5,
typeAhead: true
queryMode: "local",
valueField: "ID",
displayField: "LABEL",
store: store,
anyMatch: true
}