2011-08-12 7 views
2

4 treepanel는 ExtJS :내가 내 응용 프로그램에 대한 간단한 treepanel를 사용하고, 때로는 확장하고 다음 오류 노드를 unexpanding 정지 버그

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

예, '리프'속성을 포함하고 '확장'은 선택 사항입니다. – BlackLine

+1

해결책은 다음과 같습니다. 리프 항목에서 확장/확장을 모두 제거합니다. 도움이되지 않으면 json을 게시하십시오. – TheHorse

+1

확장 된 속성이 전혀 없습니다. Json은 꽤 큰데 ... – BlackLine

0

제 경우에는 이는 서버 응답 json이 부모 노드를 첫 번째 요소로 포함했기 때문에 발생했습니다. 그래서 노드 123을 확장 할 때 서버는 노드 123 자체를 반환하고 그 다음 노드는 모두 자식 노드였습니다.