extjs组合:下次如何将用户选择值设置为默认选择值?

extjs组合:下次如何将用户选择值设置为默认选择值?,extjs,Extjs,在extjs组合框中,我有一个要求:当用户从组合框中选择一个选项时,捕获它,下次加载页面并初始化组合框时,将值(value和displayvalue)设置为用户的最后选择。 我可以通过以下方式获取用户选择的索引:Combo.selectedIndex,但是下次加载页面时如何设置此索引 或者还有其他解决方案吗?这非常粗糙,但我会这样做: var comboStore = new Ext.data.Store({ ... autoLoad: false, ... }); v

在extjs组合框中,我有一个要求:当用户从组合框中选择一个选项时,捕获它,下次加载页面并初始化组合框时,将值(value和displayvalue)设置为用户的最后选择。 我可以通过以下方式获取用户选择的索引:
Combo.selectedIndex
,但是下次加载页面时如何设置此索引


或者还有其他解决方案吗?

这非常粗糙,但我会这样做:

var comboStore = new Ext.data.Store({
    ...
    autoLoad: false,
    ...
});

var combo = new Ext.form.ComboBox({
    ...
    store: comboStore,
    ...
    listeners: {
       select: function() {
           ...use getValue() and save here...
       }
    }
});

comboStore.on("load",function() {
    ...load value here...
    combo.setValue(loaded value);
},this,{single: true});

comboStore.reload();

这很粗糙,但我会这样做:

var comboStore = new Ext.data.Store({
    ...
    autoLoad: false,
    ...
});

var combo = new Ext.form.ComboBox({
    ...
    store: comboStore,
    ...
    listeners: {
       select: function() {
           ...use getValue() and save here...
       }
    }
});

comboStore.on("load",function() {
    ...load value here...
    combo.setValue(loaded value);
},this,{single: true});

comboStore.reload();

你能解释一下我们为什么这么做吗:single:TrueSSingle基本上只让听者触发一个。我们这样做是因为我们只想在第一次启动时加载默认值一次。请您解释一下为什么这样做:single:trueSingle基本上只允许侦听器启动一次。我们这样做是因为我们只想在第一次启动时加载默认值一次。