EXTJS 4.2-组合框在未找到匹配项时重置

EXTJS 4.2-组合框在未找到匹配项时重置,extjs,extjs4.2,extjs-mvc,Extjs,Extjs4.2,Extjs Mvc,如果单词匹配,typeahead可以正常工作,但是如果输入了不正确的字符,因此不匹配,则输入的所有文本将消失 比如说, 奥迪类型前进工程,并找到奥迪 Au-type-ahead工作并找到奥迪 Aux-type-ahead找不到任何文本,但将输入的组合框文本留空,因此我无法退格x并继续搜索 问题: 1关于如何解决这个问题有什么想法吗?到目前为止,我的研究是针对afterQuery函数的,但到目前为止还没有确定的结果 2是否可以替代typeahead并使用自定义筛选器?这将是我的首选 这是代码 Ex

如果单词匹配,typeahead可以正常工作,但是如果输入了不正确的字符,因此不匹配,则输入的所有文本将消失

比如说,

奥迪类型前进工程,并找到奥迪

Au-type-ahead工作并找到奥迪

Aux-type-ahead找不到任何文本,但将输入的组合框文本留空,因此我无法退格x并继续搜索

问题:

1关于如何解决这个问题有什么想法吗?到目前为止,我的研究是针对afterQuery函数的,但到目前为止还没有确定的结果

2是否可以替代typeahead并使用自定义筛选器?这将是我的首选

这是代码

Ext.require(['*', 'Ext.ux.data.PagingMemoryProxy']);


Ext.define('Filter.data.Store', {
    extend: 'Ext.data.Store',
    id: 'carsStore',
    autoLoad: true,
    fields: ['name'],
    pageSize: 3,
    remoteFilter:true,
    proxy: {
        type: 'pagingmemory',
       // url: 'data.json',
        reader: {
            type: 'json',
            root: 'items',
            totalProperty: 'total'
        }
    }
});


Ext.onReady(function() {
var itemsPerPage = 4, 
    data = {
        "total": 6,
        "items": [{
            'name': 'Ford'
        }, {
            'name': 'GM'
        }, {
            'name': 'VW'
        }, {
            'name': 'Audi'
        }, {
            'name': 'Ferrari'
        }, {
            'name': 'McLaren'
        }]
    },
    store = Ext.create('Filter.data.Store',{
        data:data
    });

    store.load();

Ext.create('Ext.grid.Panel', {
    title: 'ComboBox TypeAhead Issue',
    store: store,
    columns: [{
        header: 'Name',
        dataIndex: 'name'
    }, ],
    width: 700,
    height: 150,
    dockedItems: [
              {        
        xtype: 'combobox',
        width: 7,
        hidden: false,
        store:  store,
        fieldLabel: 'name',
        pageSize: true,         
        displayField: 'name',
        valueField: 'name',
            forceSelection: true,
            editable: true,
            typeAhead: true,
            queryMode: 'local',
       }],
    renderTo: Ext.getBody()
});

})

通过对afterQuery使用覆盖找到了解决方案