2011-12-13 20 views
2

以下のコードで、activeTabを0に設定すると、/ viewer/welcomeの内容が期待通りに表示されます。 activeTabを1に設定すると(下のように)、読み込み時に2番目のタブがアクティブになりますが、最初のタブをクリックするとコンテンツは表示されません。私はタブをクリックする前にタブのコンテンツを読み込むことができます(autoLoad:falseを設定した場合、それはまったく読み込まれません)が、読み込まれても表示されません。extjsタブの内容が表示されない

{ 
    xtype: 'tabpanel', 
    activeTab: 1, 
    items: [ 
     { 
      xtype: 'panel', 
      loader: { 
       url: '/viewer/welcome/', 
       renderer: 'html', 
       autoLoad: true 
      }, 
      layout: { 
       type: 'fit' 
      }, 
      title: 'Welcome' 
     }, 
        ... 
     } 

タブがアクティブになったときに実際にタブの内容が表示されないのはなぜですか?そのタブがロード時にアクティブなタブであれば動作しますが、それ以外の場合にはアクティブにならないのはなぜですか?

これらの変更を行うと、テキストは常に表示されますが、スプリアスアクティブコールから余分なページが読み込まれます。

{ 
    xtype: 'tabpanel', 
    activeTab: 1, 
    items: [ 
     { 
      xtype: 'panel', 
      loader: { 
       url: '/viewer/welcome/', 
       renderer: 'html', 
       autoLoad: false 
      }, 
      layout: { 
       type: 'fit' 
      }, 
      title: 'Welcome', 
      listeners: { 
       activate: function(me, opts) { 
        me.getLoader().load(); 
       } 
      } 
     }, 
        ... 
     } 

タブがタブであることの一部として、このコンテンツを管理していない理由を私はちょうど

+0

良い質問です。タブのグリッドパネルでこの問題は発生しません。それはちょうど期待どおりに機能します。それはローダーの設定と何か関係があります、私はこれまで使用したことはありません。現在実行中のバージョンは何ですか?これにバグがある可能性があります。 – dbrin

+0

4.07(私はちょうどそれから始まり、他のほとんどのものは期待どおりに動作するので、ちょうどバグかもしれません)。ダブルアクティベーションは、最初のアクティベーションが発生したときにスタックを歩くことによるバグであるとかなり確信しています。 – boatcoder

+0

二重起動バグがここに記録されています。http://www.sencha.com/forum/showthread.php?161590-tabpanel-calls-activate-on-non-active-tabs-during-instantiation&p=691190#post691190 – boatcoder

答えて

1

.....理解していないよ、私はここでの問題は、あなたが示したものだと思う - タブがありますコンテンツを管理しません。彼らが正しくそれを管理していない理由は、ローダーから返されるHTMLコンテンツがちょうどそれです--HTML、ExtJSコンポーネントではありません。 ExtJSは読み込んだコンテンツを管理すべきだと言わざるを得ないが、文書にはその逆が言及されている:http://docs.sencha.com/ext-js/4-0/#!/api/Ext.Component-cfg-htmlこれにバグを報告するのは価値があるかもしれない。

また、ウェルカムパネルに適切なレイアウトが指定されていることに気付きました。このパネルには他のアイテムは含まれていないので、おそらくその設定は必要ありません。ちなみに、ロードされたHTMLフラグメントの処理方法は改善される場合もあれば、改善されない場合もあります。

幸運。

+1

Fitそれと何か関係があります。 'layout: 'fit''を取り除いて' autoLoad:true'に設定すると、期待どおりに動作します。 – boatcoder

+0

私はあなたがファイヤーバグのフィットレイアウトでhtmlを調べると、ロードされたHTMLフラグメントがウェルカムパネルの可視コンテンツ領域の下に押し込まれることがわかります。つまり、パネルのフィットレイアウトは、そのdivを任意のextjコンポーネントで埋めることになります。その下に何もないのは空白になります。 html構成(htmlローダーと同じ)は、底部に追加されるだけで、それを隠すことができます。 – dbrin

0

ExtJS 5.1では参照名を使用しても機能しませんでした。商品IDを入れなければならない

関連する問題