2012-04-16 63 views
0

我想通過鍵盤箭頭導航實現交互式TreePanel。第一次點擊任何項目後,它可以正常工作。 我添加了鍵綁定< A> -add,< E> -edit,< D> -deleting。顯示添加對話框後,用戶輸入新項目的名稱並按下Ctrl-S或按下保存按鈕。下面是儲蓄代碼:在編輯元素後丟失ExtJs4中的keyNavigation

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()); 
}, 

因此,最後兩行是我試圖把重點放在樹,但它不工作。 < A>,< E>,< D> - 工作,但箭頭不起作用。如果我手動點擊樹,它會再次工作。

回答

0

已解決。使用Ext.FocusManager來了解焦點在應用程序中的工作方式很酷。爲了在樹中正確對焦:

tree.getView().focus()