2013-12-23 3 views
0

저는 Sencha Architect 3.0.1을 사용하고 있습니다. Model, TreeStore 및 TreePanel을 사용하려고합니다.직접 프록시가있는 ExtJs의 TreePanel이 이상하게 동작합니다.

모델 :

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'} 
    } 
}); 

TreeStore :

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)]); 
    } 
}); 

그리고 TreePanel :

{ 
"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 
} 
:

{ 
    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 요청이 반환 이제 6,

, 누군가가 나를 설명 할 수 :

(1) 왜, 나는 응용 프로그램이 이미 이전 요청에서 가지고 무엇을 확장하는 대신 다른 Ajax 요청을 수행하는 첫 번째 노드의 [+] 아이콘을 클릭하면

(2)이 초기보기 감안할 때 :

Initial tree view

나는 [+]를 클릭 왜 이렇게 미쳐가는 시작 :

App went crazy

답변

0

분명히 Sencha Architect의 문제였습니다.

새 프로젝트에서 동일한 아키텍처를 처음부터 다시 작성했으며 이제 예상대로 작동합니다.

또한 간단한 작업으로 인해 이해할 수없고 오류가없는 오류 (예 : '속성을 설정할 수 없음', 'DirectCfg'가 'null')로 인해 Architect에 문제가있는 것으로 나타났습니다.

불행히도 저는 Sencha Architect가 크고 복잡한 프로젝트를 위해 성숙했다고 말할 수 없습니다. 아마도 작은 프로젝트조차도 아닙니다. 얼마나 불쌍한가

관련 문제