私はそれの中にExt.Panel
のExt.TabBar
の適度に複雑な構成のSencha Touchアプリをプログラミングしています。Ext.layout.CardLayoutにはフルスクリーンが必要ですか?
しかし、私のExt.Panel
、それに設定されたfullscreen: true
財産持っていない時に神秘的な問題の中でExt.layout.CardLayout
実行を使用して:私はそれがコンセプトの私の証明ではありませんでしたpanel
の.setActiveItem()
メソッドを呼び出すようにしようとすると、それはTypeError: Object card has no method 'setActiveItem'
をスローしますバージョンがfullscreen: true
になっていました。
私はこのようにロードされた煎茶タッチライブラリをページでChromeのコンソール上で問題を再現することができます
> var p1 = new Ext.Panel({layout:'card', items:[{html:'a'},{html:'b'}]})
undefined
> p1.setActiveItem(0)
TypeError: Object card has no method 'setActiveItem'
そしてそれは.fullscreen
プロパティでは発生しません:
> var p2 = new Ext.Panel({fullscreen: true,
layout:'card',
items:[{html:'a'},{html:'b'}]})
undefined
> p2.setActiveItem(0)
subclass
何与えるか?
バージョン情報:
:私は煎茶タッチ1.0.1a
アップデート1(1月3日、〜10.30UTC + 1H)、デバッガと周りのステッピングと発見のものを使用していますを設定するだけでは、実際に作成される実際のExt.layout.CardLayout
オブジェクトの作成はトリガーされません。 .setActiveItem()
はcompentの.layout
プロパティに委任しようとするため、ほとんど即座に失敗します。しかし、新しいExt.layout.CardLayout
へ.layout
を設定するラインの下のより多くの問題を引き起こす。..
アップデート2:(1月3日、〜12:25UTC + 1H)それはすべてに挿入/レンダリングされていない様々なコンポーネントオブジェクトにダウンしています依存関係はレンダリングの準備ができるほど十分です。私は私のコードは、リスナー、this.setLayout(new Ext.layout.CardLayout());
を行い囲んパネルでadded
イベントの最初のリスナーを追加することによって、作業を取得するために管理し、その後、コンポーネントのafterrender
リスナーは、最終的に所望のカードに切り替えること.setActiveItem()
を呼び出すことを追加されています。
のありがとう!メインのTabPanelをカードレイアウトでラップしようとした後も同じ問題が発生していたので、さらに内部の詳細をさらに切り替えることができました。私のapp.jsで2番目のアップデートを使用することで、問題を解決するのに役立ちました。 – rmoore
うれしかったよ!それは私に多くのこの問題を混乱させていました。 –