Создайте TreePanel в ExtJs

При запросе сервер возвращает такой сложный объект. Контента на самом деле гораздо больше, но суть ясна, есть объекты и их дети.

{"data":
{"accesslist":
[{"id":1,"parentID":0,"groupName":"doctor","pointCode":"patient.view","pointName":"Patien data","pointDescription":"","children":
[{"id":2,"parentID":1,"groupName":"doctor","pointCode":"patient.personal.info","pointName":"Show patient data","pointDescription":""}]
}]
}
}

Мне нужно разместить этот объект в TreePanel, подскажите, пожалуйста, как это сделать?

Я пробовал это, но это не работает таким образом.

var fullAccessCarribean = Ext.create('Ext.data.TreeStore', {
    proxy: {
        url: '/CardioService/securitymanager',
        method: 'post',
        type: 'ajax',
        extraParams:{
            mode: 'accesslist',
        },
        reader: {
            root: 'data.accesslist'
        }
    },
    root:{
        expanded: true,
    }
});


Ext.define('Ext.Modules.AdminGridForm.SettingsPanel.AccessPanel.AccessTreeGrid.AccessTreeGrid', {
    extend: 'Ext.tree.Panel',    
    alias: 'widget.accesstreegrid',

    flex: 1,

    layout: {
        type: 'hbox',
        align: 'stretch'
    },

    store: fullAccessCarribean,
});

person i.metlyuk    schedule 11.03.2019    source источник


Ответы (1)


Используйте parentIdProperty, чтобы загрузить плоский список со ссылками на родителя. В вашем случае это должно быть:

parentIdProperty: 'parentID'

person Evan Trimboli    schedule 11.03.2019
comment
Спасибо, это помогло мне. - person i.metlyuk; 11.03.2019