Extjs 4组合框自动完成问题

时间:2012-12-12 18:18:00

标签: autocomplete extjs4

我遇到组合自动填充问题 问题: 1)当用户提前输入时,它不会过滤搜索 2)我每次输入一个字母时都会观察(在萤火虫中)它通过休息呼叫获取结果。 任何指针都会有帮助...... 码: 模型-------------

Ext.define('TopoApplication.model.MDeviceDetail', {
extend: 'Ext.data.Model',
fields: [
{
name: 'deviceName',
mapping: 'name'
},
{
name: 'id',
mapping: 'id'
},
{
name: 'deviceType',
mapping: 'deviceType'
},
{
name: 'longname',
mapping: 'longname'
},
{
name: 'state',
mapping: 'state'
}

],
proxy: {
type : 'rest',
extraParams: {
test:'2'
},
url :'topo/message',
// format: 'json',
reader: {
type:'json',
root : 'devicelist'
}

}

});

商店:

Ext.define('TopoApplication.store.SDeviceDetail', {
extend : 'Ext.data.Store',
model : 'TopoApplication.model.MDeviceDetail',
autoLoad: true
});

查看:----------------------------------

var combo = {
xtype : 'combo',
fieldLabel : 'Search By Device Name',
forceSelection : true,
valueField : 'id',
displayField : 'deviceName',
typeAhead : true,
hideTrigger: true,
loadingText : 'Querying....',
// pageSize : 20,
minChars : 1,
triggerAction : 'all',
//itemSelector : 'div.search-item',
store : 'SDeviceDetail',
listeners: {
'select': {fn:function(){console.log(this.getValue());}}
}
};

Ext.define('TopoApplication.view.device.DeviceDetail', {

extend : 'Ext.window.Window',
title : 'Device Detail Information',
width : 500,
height : 620,
alias : 'widget.deviceDetail',
defaults : {
bodyStyle : 'padding:15px'
},
items : combo,
initComponent : function() {
console.log('initComponent: DeviceDetail Window');
this.viewConfig = {
forceFit : true
};
this.callParent(arguments);
this.show();
}
});

控制器:-----------------------

Ext.define('TopoApplication.controller.CDeviceDetail', {
extend : 'Ext.app.Controller',
stores : ['SDeviceDetail'],
models : ['MDeviceDetail'],
views : ['device.DeviceDetail'],
// views : ['device.Grid'],
init : function() {
// When we declare stores and models, the controller will automatically create getter functions for them.
// this.getSDeviceDetailStore().load();

this.control({
'viewport>panel' : {
render : this.onPanelRendered
}
});
console.log('Initialized CDeviceDetail Controller');
},

onPanelRendered : function() {
console.log('The panel was rendered');
}

});

提前致谢。

阿米特

1 个答案:

答案 0 :(得分:1)

只需将'querymode:local'添加到组合框配置即可解决此问题。