Extjs ComboBox 刷新问题
有个var addModuleWin = new Ext.Window,closeAction: 'hide',里面有个ComboBox
var urlStore = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url: ' <%= path%>/module/prepareModule_getUrls',
method: 'POST'
}),
reader: new Ext.data.ArrayReader({},[
{name: 'value'},
{name: 'text'}
])
});
var urlComboBox = new Ext.form.ComboBox({
fieldLabel: '路径',
xtype: 'combo',
hiddenName: 'prapareModuleid',
emptyText: '请选择路径',
msgTarget: 'side',
allowBlank: false,
blankText: '路径不能为空',
triggerAction: "all",
displayField: 'text',
valueField: 'value',
editable : false,
store: urlStore,
mode: 'remote',
width: 230
});
urlComboBox.store.reload(); addModuleWin.show();
但ComboBox就是不显示重新加载的数据在comboBox渲染之前,加载数据。beforerender: function () {加载数据}让combobox重新渲染下就应该有数据了
[解决办法]
放在window的show回调中
win.show(null, function(){
urlComboBox.store.reload();
});
[解决办法]
支持6楼的说法。
当win再次show的时候,如果combobox还没有渲染好,但这时数据已经请求了,是不会显示的,
尽量迟一点调用combobox的reload,比如在win的show,或render事件里试试。