Ext comboBox 值回填、手动设置value时要注意的地方

有时需要使用一个旧值填写到一个comboBox 表单中,可以使用basicform的setValues()方法和comboBox 的setValue()方法,但是有一个问题,设置后,comboBox 的value是对了,但一般来说,我们并想显示这个值,而是显示与这个值相关标签。当数据源是本地数据源时,这个问题不会出现。当数据源是远程,也就是从服务器端取数据时会有这个问题。先看一下如下的代码


var formP = new Ext.form.FormPanel({
items:[
{fieldLabel:'aaaa',name:'mb'},
new Ext.form.ComboBox({
name:'ab',
hiddenName:'ab',
valueField:'value',
displayField:'key',
typeAhead:true,mode:'remote',
store:new Ext.data.SimpleStore ({
autoLoad:true,
url:getdata.jsp',
fields:['key','value']
})
})
]
})
formP.setValues([id:'ab',value:'11']);

上面的代码会有问题,但是如果把最后一行代码用一个按扭来触发,这样能达到我们要的效果,大家可以试一下,原因就是store是异步工作的,当formP.setValues([id:'ab',value:'11']); 执行时,sotre还没有完全加载,这才是根本的原因。知道这点后就能解决我们前面遇到的问题了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值