0

キーボードの矢印ナビゲーションを使用してインタラクティブなTreePanelを実装したいと思います。最初にアイテムをクリックすると、正しく機能します。キーバインドを追加しました<A>-追加、<E>-編集、<D>-削除。[追加]ダイアログが表示されたら、ユーザーは新しいアイテムの名前を入力してCtrl-Sを押すか、[保存]ボタンを押します。保存のコードは次のとおりです。

saveItem: function(wnd) {
    rec = wnd.getRecord();
    var store = this.getProductCategoryStore();

    if (wnd.parent) {
        parent = wnd.parent
        parent.data.leaf = false;
        parent.set('loaded', false);
    } else
        parent = this.getCategoryTree().getRootNode();

    if (rec.phantom)
        parent.appendChild( rec );
    store.sync();
    wnd.close();

    if (wnd.parent)
        parent.expand();

    this.getCategoryTree().focus();
    this.getCategoryTree().selectPath( rec.getPath() );
},

したがって、最後の2行は、Treeに焦点を当てようとしていますが、機能しません。<A>、<E>、<D>-動作しますが、矢印は動作しません。ツリーを手動でクリックすると、再び機能します。

4

1 に答える 1

0

解決しました。Ext.FocusManagerを使用して、アプリケーションでフォーカスがどのように機能するかを理解するのはすばらしいことです。ツリーに適切に焦点を合わせるには:

tree.getView().focus()
于 2012-04-17T12:41:37.097 に答える