2011-08-12 67 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,然后是它的所有子节点。