使用typeAhead在ExtJS ComboBox上过滤选项

时间:2014-12-11 15:59:10

标签: extjs combobox typeahead

我基本上想让组合框看起来像具有自动完成/预先输入功能的te​​xtBox。

我已经实现了几乎所有功能,但使用以下代码过滤了类型的结果:

var tboxReportaNombre = Ext.create('Ext.form.field.ComboBox', {
    margin: '5 0 0 10',
    store: reportersNamesStore,
    displayField: 'vcReportaNombre',
    valueField: 'vcReportaNombre',
    hideTrigger: true,
    typeAhead: true,
    typeAheadDelay: 100,
    minChars: 2,
    mode: 'local'
});

这是我正在使用的商店:

var reportersNamesStore = Ext.create('Ext.data.Store', {
    fields: ['vcReportaNombre'],
    proxy: {
        type: 'ajax',
        url: '/SIMAC/Incidencia/GetReportersNames',
    }
});

工作正常,但是当我开始输入时,我希望过滤下拉列表以匹配我的查询。现在它没有(如下图所示)。

Dropdown not matching my query

任何帮助都会非常感激。谢谢!

1 个答案:

答案 0 :(得分:6)

我刚刚解决了它,我不得不将属性queryMode设置为local,将lastQuery设置为空字符串。

结束使用此代码:

var tboxReportaNombre = Ext.create('Ext.form.field.ComboBox', {
    margin: '5 0 0 10',
    store: reportersNamesStore,
    displayField: 'vcReportaNombre',
    valueField: 'vcReportaNombre',
    hideTrigger: true,
    typeAhead: true,
    typeAheadDelay: 100,
    minChars: 2,
    queryMode: 'local',
    lastQuery: ''
});

我认为Sencha应该在其textboxfield中实现Typeahead属性和方法。