ExtJs ComboBox重新初始化

时间:2011-11-27 11:19:05

标签: extjs combobox

我正在尝试通过重新初始化来更改ComboBox配置:

Ext.onReady(function(){

   var mycb = new Ext.form.ComboBox({
       //params
   });

   //here is other component initizing
   var other = ....
      onChange: function() {
        //here I'm trying to reinitialize ComboBox
        mycb = new Ext.form.ComboBox({
           // other params
        });
   }
});

但是在onChange事件之后我的ComboBox消失了。我试图调用mycb.destroy()方法,但结果相同。

我应该取消注册或类似ComboBox吗?为什么我的组件会消失?

3 个答案:

答案 0 :(得分:1)

使用以下代码..

mycb.reset();
mycb.removeAll();
// for loading new data
mycb.loadData("new data store");
// to load attributes
mycb.load({params:{start:0, limit:25, reset:true}}); 

这适用于我的代码。请根据您的需要进行更改。

答案 1 :(得分:0)

可能更好的想法是从其容器中移除原始的组合框并在其位置添加新的组合框。您也可能只需要使用新数据重新加载商店吗?

答案 2 :(得分:0)

使用合适的布局将此组合包装在面板中。在onChange处理程序中从该面板中删除组合,销毁它(组合),并向面板添加新组合。有了额外的面板,您可以轻松地将其放置在布局中的正确位置。