メインのTabPanelに追加するExtJsパネルがあります。追加するパネルには、そのアイテムの1つとしてFormPanelが含まれており、FormPanel内に[名前]フィールドがあります。私がやりたいのは、フォームフィールドの名前に基づいてタブの名前を変更することです。
問題はgetForm().getValues()
、パネルのinitComponent内でFormPanelを呼び出すと、次のjavascriptエラーが発生することです。
Uncaught TypeError: Cannot read property 'dom' of undefined
initComponentの外でこれを行うと(ボタンを押すなど)、すべてが正常に機能します。いくつかのテストを行った後、問題は、FormPanelが実際にはまだレンダリングされていない(したがって、domが存在しない)ということだと思いgetValues()
ます。ただし、ロード時にPanelからFormPanelの値を取得する方法がわからないようです。
イベントを聴いてみました。私は試した:
this.detailForm.on('afterrender', function () { alert('test'); });
しかし、これを行うAfterRender
と、フォームが実際にレンダリングされる前に呼び出されることがわかりました(画面には表示されません)。アラートをカスタム関数ハンドラーに変更すると、前のdom例外が生成されます。activate
の代わりにandenable
イベントを使用しようとしましたafterrender
が、APIがFormPanelがこれらのイベントを発生させると言っていても、alert('test')が呼び出されることはありません。
パネルを読み込んだときに、パネルが内部のFormPanelの値を取得する方法が見つからないようです。誰かアイデアはありますか?