在 extjs6 comboBox 中设置默认选择值

Set default selected value in extjs6 comboBox

我做了如下代码

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' 显示为默认值。我该怎么做呢。我设置了 'value' 键,但是当下拉菜单打开时,选择的值不同。

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

这里是关键代码classic/classic/src/form/field/ComboBox.js line 1562

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

所以新Store没有你设置的lastSelected