Ext comboBox 值回填、手动设置value时要注意的地方
程序员文章站
2022-06-08 18:06:02
...
有时需要使用一个旧值填写到一个comboBox 表单中,可以使用basicform的setValues()方法和comboBox 的setValue()方法,但是有一个问题,设置后,comboBox 的value是对了,但一般来说,我们并想显示这个值,而是显示与这个值相关标签。当数据源是本地数据源时,这个问题不会出现。当数据源是远程,也就是从服务器端取数据时会有这个问题。先看一下如下的代码
上面的代码会有问题,但是如果把最后一行代码用一个按扭来触发,这样能达到我们要的效果,大家可以试一下,原因就是store是异步工作的,当formP.setValues([id:'ab',value:'11']); 执行时,sotre还没有完全加载,这才是根本的原因。知道这点后就能解决我们前面遇到的问题了。
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还没有完全加载,这才是根本的原因。知道这点后就能解决我们前面遇到的问题了。