Учитывая ожидаемый результат, который вы хотите, ExtJs имеет приятный treepanel компонент, который отображает данные в древовидной структуре.Вам просто нужно проанализировать данные в соответствии с ожидаемым вводом для этого компонента.
{
xtype: 'treepanel',
rootVisible: false,
store: Ext.create('Ext.data.TreeStore', {
// Store definition here
}),
columns: [
{
xtype: 'treecolumn', // Set this xtype here to display
text: 'Title', // data in this column as a tree
dataIndex: 'title',
flex: 1
},
{
text: 'Info',
dataIndex: 'info',
width: 100
},
{
text: 'Date',
dataIndex: 'date',
width: 100
}
]
}
Вот пример из образцов Kitchen Sink.