1

タブ内にフォームがあります。これは 2 番目のタブなので、開くまでレンダリングされません。

フォームにデータを送信しようとしましたExt.getCmp('DetailsForm').getForm().setValues(selections[0]);が、関数ではないと表示されます。おそらく、まだレンダリングされていないためです。私がしなければならないこと?

4

3 に答える 3

3

Ext.tab.PanelのdeferredRender設定プロパティをdeferredRender: false

これにより、アクティブなタブだけでなく、すべてのタブのレンダリングが強制されます。これでフォームが表示されます。前に述べたように、myTabPanelRef.down('from').getForm().setValues(selections[0]); も使用することをお勧めします。フォームにアクセスします。

于 2012-09-03T20:36:08.677 に答える
0

フォーム パネルのレンダリングイベントを使用します。あなたのコードは次のようになります -

Ext.getCmp('DetailsForm').on('render', function(){ this.getForm().load(selections[0]); });

于 2012-09-03T13:04:56.623 に答える
0

2番目のタブshowイベントまたはpaintedイベントにサブスクライブしてから、 DOM全体では表示されない
ため、できればメソッドを使用してフォームを探します。.down()値を設定する

于 2012-09-03T11:48:32.100 に答える