2012-03-20 10 views
0

を拡張するとき、私はこのコードを持っている:のExt JS insertAdjacentHTMLのヌルEXT JS 4 にExt.tree.Panelを拡張するとき、私は問題があるExt.tree.Panel

Ext.define('Peps.tree', { 
    extend: 'Ext.tree.Panel', 
    alias: 'widget.pepstree', 
}); 

Ext.create('Peps.tree', { 
    renderTo:'selection_indicateur', 
    id : 'pepstree', 
    width:'500px', 
    height:'500px' 
}); 

Ext.create('Peps.tree', { 
    renderTo:'selection_arborescence', 
    id : 'pepstree2', 
    width:'500px', 
    height:'500px' 
}); 

を、私は実行時に、私が唯一見ることができます1作成treepanelとエラー:

Uncaught TypeError: Cannot read property 'insertAdjacentHTML' of null 

このコードは、私は最小限のコードがすべてを解決する解決を願って、実際の1の最小バージョンです。

どうすればいいですか?何か案は ?

ありがとうございます! :)私はjsfiddleにコードを置く

答えて

1

は、私はあなたが第2のグリッド上の第2のレベルの子を展開するときに、あなたがどんな子を取得いけないことに気づくでしょう、しかし、あなたは http://jsfiddle.net/dbrin/VbTjx/embedded/result/

を説明しているエラーを取得いけない - そうありそこに何か間違っていますが、それがあなたが見る問題に関連しているかどうかはわかりません。

共通のプロトタイプがルートを共有しているように見えますが、これはここではうまくありません。

+0

「をinsertAdjacentHTML」ヌルのではなく、それらのrenderToのいずれかが悪いのIDとリンクされたようです。しかし、私はまだ問題があります、2つの木は一緒に接続されているようですhttp://jsfiddle.net/VbTjx/1/ここに私の仕事のコピーです。あなたが見ることができるように、2つの木は同じ "店"ですが、私は2つの異なるルーツを指定すると、treepanelを拡張するときに何かするのを忘れたかもしれませんが、何ですか? – NeeL

+0

別々のインスタンスであっても、ルーツはツリー間で確実に共有されます。私はツリーの定義を再利用しようとしていることを忘れるでしょう - ツリーのプロトタイプが最初のインスタンスによって変更されているように見えます - そうしないでください!私はそれをバグとして分類します。 – dbrin

0

私はこの問題を発見しましたが、私は理由はわかりませんが、ext jはtreepanelを拡張するときに定義されたviewconfigのIDを持つ必要があります。

だから、私はinitComponent()メソッドでは、この追加:私はプロパティを読み取ることができません解決

initComponent: function() { 
    var id = Ext.id(); 
    Ext.apply(this, { 
     viewConfig: { 
      id: id + '-view' 
     } 
    } 
} 
+0

私の問題については、ここでSenchaのフォーラムに投稿してください:http://www.sencha.com/forum/showthread.php?189464-trees-connected-bug-when-extending-Ext.tree.Panel – NeeL