2016-08-24 9 views
1

私はトレパネルとタブパネルを持っています。各ツリーパネルノードは、タブパネルパネルに対応しています。ノードをクリックすると、強調表示され、タブパネルが開きます。タブパネルを閉じるときと同じように、ノードの強調表示を削除する必要があります。私はたくさん試しましたが、成功することはできませんでした。これに関する助言?対応するタブが閉じられているときにツリーノードの強調表示を削除します。

https://fiddle.sencha.com/#fiddle/1foo

あなたはAbc.view.main.explorer.AbcTabPanelコンポーネントにリスナーを見ることができます。

答えて

1

はこれを見てください:https://fiddle.sencha.com/#fiddle/1fq0

あなたの例では、私は私の例では修正したエラーのカップルを投げたが、私は基本的にやったことはこれです:私はにcloseリスナーを添付しましたTreeListの選択(getSelection)を確認する作成済みタブ。タブのレコードが現在の選択肢の場合は、選択をnullに設定します。 TreeListはそのレイアウトを更新し、そのレコードを非表示にします。

こちらがお役に立てば幸いです。

P.S.私はマイナーコードの変更を行った。それは私のコーディングスタイルです。あなたが好きでない場合は、無視してください:)

+0

素晴らしいです。あなたのコーディング標準も継承しています:)。あなたがパネルを閉じるときに、前のパネルが表示されたら、それをtreelistで強調表示できますか? – Hacker

+0

それは完全に可能です。次のいずれかのイベントを使用できます。 * 'tabPanel' [tabchange](http://docs.sencha.com/extjs/6.0.2-classic/Ext.tab.Panel.html#event-tabchange)イベント。 * tab [activate](http://docs.sencha.com/extjs/6.0.2-classic/Ext.Component.html#event-activate) –

+1

フィリッドの例を更新して、treelistの選択を更新しましたタブを変更するとき。 'activate'イベントハンドラを見てください。 タブイベントハンドラの設定を少しリファクタリングすることもできます。これらのイベントハンドラを設定すると、ハンドラ関数の外側から 'view'および' record'変数を使用するため、クロージャが作成されます。 –

関連する問題