在extjs6 comboBox

时间:2016-06-29 07:43:52

标签: extjs6 extjs6-classic

我已经制作了如下代码

Ext.define('Abc.store.Indicator', {
    extend: 'Ext.data.Store',
    alias: 'store.indicator',
    fields: ['key', 'value'],
    proxy: {
        type: 'memory',
        reader: {
            type: 'array'
        }
    },
    data: [
        ["ALL", "ALL"],
        ["Y", "Y"],
        ["N", "N"]
    ]
});

Ext.define('Abc.view.main.Indicator', {
    extend: 'Ext.form.field.ComboBox',
    xtype: 'indicator',
    fieldLabel: 'Ind',
    name: 'indicator',
    displayField: 'value',
    valueField: 'key',
    store: {
        type: 'indicator'
    }
});

和我使用的报告项目

 items: [{xtype:'indicator'}]

当用户打开报告时,我想要' N'显示为默认值。我该怎么做呢。我设定了价值'键,但打开下拉列表时,所选值不同。

1 个答案:

答案 0 :(得分:1)

也许您可以将queryMode: 'local'放在“Abc.view.main.Indicator”的配置中,否则商店会加载。

以下是关键代码 classic / classic / src / form / field / ComboBox.js第1562行

    if (lastSelected && selectionModel.selected.length && store.indexOf(lastSelected) > -1) {
            itemNode = lastSelected;
    }

所以新商店没有你设定的lastSelected。