ExtJS:重装后的Combobox没有设置值

0dd*_*b1t 3 combobox extjs store reload

我想我有一个非常受欢迎的问题,但现在还没找到答案.:)我有2个类似的组合框 - 起初我通过id设置我的值 - comboT.setValue("22763");并且它正确设置了与此id链接的文本值.在第二个组合框我首先重新加载商店(jsonstore),然后设置值 - comboC.setValue("3");但这个组合设置只有ID而不是文本值(如果我打开列表,我可以看到什么组合正确标记文本值.之后(如果列表只是关闭没有选择)在组合中正确显示文本值.如何解决这个问题?谢谢.

ein*_*nus 11

像这样的东西,语法可能稍微关闭,因为我从内存中做到这一点:

var val = 3;
var store = comboC.getStore();
store.on("load", function() {
   comboC.setValue(val);
}):
store.load();
Run Code Online (Sandbox Code Playgroud)


Eri*_*ler 6

加载存储是异步的,您可能希望将新值设置为callback:事件处理程序store.load({...}),否则,您可以在实际加载存储之前设置该值.

编辑:为了完整性,一个例子,所以你有一个替代版本(在某些情况下,将回调绑定到商店本身可能是不可取的,就像ormuriauga那样):

var val = 3;
var store = comboC.getStore();
store.load({
   callback: function() {
      comboC.setValue(val);
   }
});
Run Code Online (Sandbox Code Playgroud)