0

こんにちは、extjsフレームワークで誰かが私を助けてくれることを願っています。

私が抱えている問題は、パネルからの初期化時に表示されないタブのフィールド検証がレンダリングされていないことです。

テキストフィールドをクリックしたときにのみ機能し始めます。

私が必要としているのは、タブをアクティブ化する際にフィールドの検証キューを強制するものです。

編集 私はこれを思いついた

Ext.getCmp('aanMakenGebruikerTabPanel').on('tabchange',function(){
        AanMakenGebruikerWindow.syncShadow();
        Ext.getCmp('Mobiel1Veld').on('render',function(v){v.validate();});
        Ext.getCmp('Email1Veld').on('render',function(v){v.validate();});
        //console.log("[aanMakenGebruikerTabPanel] resize -- sync");
    });

編集 私はカスケード関数を使用してそれを解決したので、フィールドセット内のアイテムにも到達します。

Ext.getCmp('aanMakenGebruikerTabPanel').on('tabchange',function(tabPanel,tab){
        AanMakenGebruikerWindow.syncShadow();
        tab.cascade(function(item) {
   if (item.isFormField) {
    item.validate();
  }
} );
    });

ありがとう、リチャード

4

2 に答える 2

2

deferredRenderオプションのデフォルトはtrue。です。誤ったヘルプに設定しますか?

{
   xtype: 'tabpanel',
   deferredRender: false, 
   items: []
}
于 2011-07-26T18:30:38.077 に答える
1

タブパネルの構成オブジェクトで、beforetabchange/tabchangeイベントのリスナーを追加します。ハンドラーでは、アクティブ化されたタブに含まれるフィールドを反復処理し、各フィールドの検証をトリガーする必要があります。お役に立てれば。

于 2010-07-21T00:48:06.853 に答える