我有一个包含一组值的组合框,
Ext.define('loincList', {
extend: 'Ext.data.Model',
fields: [{ name: 'loincNumber', mapping: 'loincNumber' },
{ name: 'component', mapping: 'component' }
]
});
ds = Ext.create('Ext.data.Store', {
model: 'loincList',
proxy: {
type: 'ajax',
url : url+'/lochweb/loch/LOINCData/getLOINCData',
reader: {
type: 'json',
root: 'LOINCData'
}
}
});
组合框:
{
xtype: 'combo',
fieldLabel: 'Search Loinc Code',
name: "loincId",
displayField: 'loincNumber',
valueField: 'id',
width: 400,
store: ds,
queryMode: 'local',
allowBlank:false,
listConfig: {
getInnerTpl: function() {
return '<div data-qtip="{loincNumber}.{component}">{loincNumber} {component} {status}</div>';
}
}
}
当我在组合框中键入一个数字时,它会根据输入的数字进行过滤,但是当我输入文本时,它不会根据输入的文本进行过滤。如何根据输入的文本进行过滤。
答案 0 :(得分:0)
过滤正在服务器端进行,如果您要打开像Firebug这样的东西,您会看到特殊的参数(通常名为过滤器),其中包含您在控件中键入的文本,因此您需要检查服务器端发生的情况。您需要处理过滤器文本并在服务器端根据需要制作过滤器。
答案 1 :(得分:0)
当您向组合框输入数据时,它将根据displayField
进行过滤。因此,我认为当您“键入文本时,它不会根据输入的文本进行过滤”,因为组合中的任何项目都没有displayField
,其前缀与您键入的文字类似。