2011-11-27 79 views
0

我試圖重新初始化改變組合框配置:ExtJS的組合框重新初始化

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事件後,我的組合框的disapeared。我試圖調用mycb.destroy()方法,但也有相同的結果。

我應該取消註冊還是類似ComboBox?爲什麼我的組件正在消失?

回答

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}}); 

這是工作在我的代碼。請根據您的需要進行更改。

+0

如果我調用resetAll()我的控件不會消失,但加載後()新的參數未加載 – bontade

+0

更新代碼..請檢查 –

0

也許一個更好的主意是將原始的組合框從其容器中移除並在其位置添加一個新組合框。也許你所需要的只是用新數據重新加載商店?

+0

不,我不重新加載存儲,但我更改配置的控制 – bontade

0

用合適的佈局將此組合包裹在面板中。在onChange處理程序中,從該面板中刪除組合,將其摧毀(組合),並將新組合添加到面板。增加面板可以讓您輕鬆地將其放置在佈局的正確位置。