带有直接代理的ExtJs中的TreePanel行为怪异

带有直接代理的ExtJs中的TreePanel行为怪异,extjs,treepanel,Extjs,Treepanel,我正在使用Sencha Architect 3.0.1。 我试着用一个模型,一个树洞和一个树面板 模型: Ext.define('User.model.ModelClientList', { extend: 'Ext.data.Model', fields: [{ name: 'id' }, { name: 'name' }, { name: 'status' } ], proxy: { type: 'direct', directFn:

我正在使用Sencha Architect 3.0.1。 我试着用一个模型,一个树洞和一个树面板

模型:

Ext.define('User.model.ModelClientList', {
    extend: 'Ext.data.Model',
    fields: [{ name: 'id' }, { name: 'name' }, { name: 'status' } ],
    proxy: {
        type: 'direct',
        directFn: 'UserClient.listClient',
        reader: { type: 'json',root: 'data'}
    }
});
树顶:

Ext.define('User.store.StoreClientList', {
    extend: 'Ext.data.TreeStore',
    constructor: function(cfg) {
        var me = this;
        cfg = cfg || {};
        me.callParent([Ext.apply({
            model: 'User.model.ModelClientList',
            storeId: 'StoreClientList'
        }, cfg)]);
    }
});
还有树面板:

{
    xtype: 'treepanel',
    height: 250,
    itemId: 'MainClient',
    width: 400,
    title: 'Clients',
    hideHeaders: false,
    store: 'StoreClientList',
    rootVisible: false,
    viewConfig: {loadMask: true},
    columns: [
        {xtype: 'treecolumn',dataIndex: 'name',text: '..'},
        {xtype: 'gridcolumn', dataIndex: 'status', text: '..'}
    ]
}
对UserClient.listClient的json请求返回以下内容:

{
"data":[
    {"id":1,"name":"Pluto","status":3,"children":[
        {"id":35,"name":"Mela","status":2,"leaf":true},
        {"id":36,"name":"Pera","status":1,"leaf":true},
        {"id":37,"name":"Arancia","status":1,"leaf":true}]},
    {"id":2,"name":"Pippo","status":1,"leaf":true},
    {"id":3,"name":"Paperino","status":2,"leaf":true}],
"success":true
}
现在,有人能给我解释一下:

(1) 为什么,当我单击第一个节点的[+]图标时,应用程序会执行另一个ajax请求,而不是扩展从上一个请求获得的内容

(2) 鉴于这一初步看法:

为什么当我点击[+]时,它开始像这样疯狂:


这显然是Sencha建筑师的问题

我在一个新项目中从头重写了相同的体系结构,现在它按预期工作

另外,我注意到架构师出了一些问题,因为简单的操作使它显示出不可理解和不可调试的错误(例如“无法将属性'DirectCfg'设置为null”)

不幸的是,我不能说Sencha Architect对于大型和复杂的项目来说是成熟的。。即使是小项目也可能不行。真遗憾