2011-08-12 88 views
2

我用一個簡單的TreePanel中我的應用程序,有時它停止擴大,並與下一個錯誤unexpanding節點:ExtJS的4 TreePanel中的bug

records[i] is undefined 
http://localhost:8080/extjs/ext-all-debug.js 
Line 58763 

我的代碼非常簡單:

var tree_store = Ext.create('Ext.data.TreeStore', { 
    id: 'tree_store_id', 
    proxy: { 
     type: 'ajax', 
     url: 'tree_data.json?object_id=' + Ext.getCmp('object_id').value 
    }, 
    root: { 
     text: 'Парки', 
     id: 'objectId', 
     expanded: true, 
     iconCls: 'tree-cls-root' 
    } 
}); 

var tree = Ext.create('Ext.tree.Panel', { 
    id: 'stock_tree_id', 
    store: tree_store, 
    autoWidth: true, 
    height: 600, 
    autoScroll: true, 
    renderTo: document.getElementById('stock_tree_div'), 
    useArrows: true, 
    border: false, 
    rootVisible: true, 
    listeners: { 
     itemclick: function (view, rec, item, index, eventObj) { 
      document.getElementById("stock_div").innerHTML = rec.data.text; 
     } 
    } 
}); 

有任何人遇到這個問題?

回答

1

可能是您的JSON問題。是否包含如下內容:

"leaf" : "true", 
"expanded" : "true" 

+0

yes,它包含'leaf'屬性,'expanded'是可選的我認爲 – BlackLine

+1

所以解決方法是:從leaf-items中刪除所有展開/展開。如果沒有幫助 - 發佈你的json。 – TheHorse

+1

我根本沒有擴展屬性。 Json是相當大的... – BlackLine

0

在我的情況下,這是由於服務器響應json包含父節點作爲第一個元素的事實引起的。 因此,當我擴展節點123時,服務器本身返回節點123,然後是它的所有子節點。