Extjs4 如何在TypeAhead上查询ComboBox的显示字段

Extjs4 如何在TypeAhead上查询ComboBox的显示字段,extjs4,Extjs4,使用ExtJS 4.2.1,当用户开始键入组合的输入字段时,如何编写“组合”框来查询显示字段而不是valueField 以下是我对组合框的设置: xtype: 'combo', itemId: 'usersCbo', width: 450, forceSelection: true, fieldLabel: 'Assign Selected TestRuns To', labelAlign: 'right', labelWidth: 180

使用ExtJS 4.2.1,当用户开始键入组合的输入字段时,如何编写“组合”框来查询显示字段而不是valueField

以下是我对组合框的设置:

    xtype: 'combo',
    itemId: 'usersCbo',
    width: 450,
    forceSelection: true,
    fieldLabel: 'Assign Selected TestRuns To',
    labelAlign: 'right',
    labelWidth: 180,
    queryMode: 'local',
    valueField: 'USERNAME',
    displayField: 'FULLNAMES',
    triggerAction: 'all',
    typeAhead: true,
    allowBlank: false,
    store: Ext.create('Ext.data.Store', {
        storeId: 'testRunUsersStore',
        autoLoad: true,
        pageSize: 1000,
        proxy: {
            type: 'ajax',
            url: 'app/php/stores/Test_Run/testEngineers.php',
            reader: {
                type: 'xml',
                record: 'Record',
                root: 'Records',
                totalProperty : '@totalRecords'
            }
        },
        fields: [
            { name: 'USERNAME',     type: 'string' },
            { name: 'FULLNAMES',    type: 'string' }
        ],
        sortOnLoad: true,
        sorters: { property: 'USERNAME', direction: 'ASC' }
    })

这篇博文中详细介绍的解决方案解决了我的问题。似乎我需要一种方法来使匹配不区分大小写。的确,匹配是在displayField的原始值上完成的


是的,我意识到了这一点,但有没有办法覆盖匹配的字段?如果您想显示不同的内容,请使用模板方法调整显示形状。我不明白问题是什么。问题是:你已经有一个组合加载了数据(如上面的代码)。当您开始在组合框中键入时,它将匹配以您键入的字符开头的记录。在我看来,它是基于valueField而不是displayField进行匹配的。是不是这样,如果是这样,您如何使它匹配显示字段中的任何位置?这与combobox API文档中的示例不同