Extjs 两个JsonStore 使用同一个url(action)时问题

本文描述了一个关于ExtJS中ComboBox加载数据的问题及解决方案。作者在使用ExtJS时遇到两个ComboBox无法正常显示数据的情况,通过设置定时器的方式解决了加载延迟的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

困扰了我很久的问题,在网上找找,也没找解决办法。

问题是,我在一个页面上有两个ComboBox,数据来源是同一个action(我使用的struts2)
还是看看代码吧

var store_comBox_volt = new Ext.data.JsonStore({
url : "dropAction!getVoltDrop.action",
root : 'volt',
fields : ['id', 'name']
});
store_comBox_volt.load()
var comBox_volt = new Ext.form.ComboBox({ // combobox
fieldLabel : '电压等级',
displayField : 'key',
width:'50',
mode : 'local',
store : store_comBox_volt,
displayField : 'name',
valueField : 'id',
forceSelection : true,
triggerAction : 'all',
selectOnFocus : true,
typeAhead : true
});


var store_comBox_org = new Ext.data.JsonStore({
url : "dropAction!getOrgsDrop.action",
root : 'orgs',
fields : ['id', 'name']
});
store_comBox_org.load();
var comBox_org = new Ext.form.ComboBox({ // combobox
fieldLabel : '管理单位',
displayField : 'key',
mode : 'local',
store : store_comBox_org,
displayField : 'name',
forceSelection : true,
triggerAction : 'all',
selectOnFocus : true,
typeAhead : true
});

后台处理正常,但在页面上不显示。不知道什么原因。后来,在网上看到:EXT用定时检查的方法处理连接是否正常结束的问题,每50毫秒一次。
我就在store_comBox_org上加一个定时器。
setTimeout(function(){store_comBox_volt.load()},100);
这样就正常了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值