Extjs combo赋值与刷新的先后顺序

今天在跟一个弹出框中的多选下拉框赋值并实现反选的时候。惊讶的发现:原来我之前对于Combo的赋值的认知观是错误的。

我开始在窗体的beforeshow事件中对Combo控件赋值。开始使用了setValue()和setRawValue().分别赋值实际值和显示值。

然后Combo的Store在进行load请求数据。

好了,完工。托托的简单的功能啦。一刷新页面、测试功能,唉,咋不好使呢。浏览器缓存?那改下版本吧。好吧。真的不好使。

翻了一下刚刚写的多选下拉框的反选代码,唉,没错啊。一模一样啊。咋不好使呢。百思不得其解。算了,FireBug调试看看吧。

调试才发现:将数据赋值到Combo组件时,Combo显示的是valueField值而不是displayField值。所以需要先加载完数据,再进行赋值。

Ext.getCmp('Combo').getStore().load({
callback: function (r, o) {
Ext.getCmp("Combo").setValue('Test1');
}
});
上一篇:转 web前端性能分析--原理篇


下一篇:转 web前端性能分析--实践篇