Сборка TreePanel в ExtJS

#extjs #extjs6-classic #treepanel

#extjs #extjs6-classic #treepanel

Вопрос:

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

 {"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,
});
  

Ответ №1:

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

parentIdProperty: 'parentID'

Комментарии:

1. Спасибо, это помогло мне.