1つのコントローラー(ControllerA)が別のコントローラー(ControllerB)をロードしているExtJS4アプリケーションがあります。コントローラーAには、コントローラーBに設定する必要のあるユーザー入力があります。これにより、コントローラーBがプルダウンをロードしたときに、デフォルトでそれらのプルダウンを正しい値にジャンプできます。
ControllerAから適切に値を渡すことができます。
itemClick: function itemClick(distributor, product) {
var ctrlr = this.getController('Internal.controller.Popup');
var win = ctrlr.openWin(distributor, product);
ctrl.init();
}
openwin関数は値を取得します。その関数でこれらの値を保存して、ControllerBの他の関数がそれらが存在するかどうかを確認し、存在する場合はコンボボックスを適切に設定できるようにする方法がわかりません。例:
openWin: function openWin(distributor, product) {
var win = Ext.create('Ext.window.Window', {
...
});
// Somehow set distributor and product
return win;
}
loadDistributorBox: function loadDistributorBox(str) {
//Listener for Ajax load of combobox values
var combobox = Ext.ComponentQuery.query('combobox')[0];
var items = str.getRange();
if (isset(distributor)) {
// Move the pulldown to the item that matches
} else {
// Show the default first value
}
}