解决方案 »

  1.   

    配置proxy后,你点击展开一次就全部返回json的所有数据,这样这些数据不就全部作为你点击的这个子节点了。。用动态页来过滤,返回需要的节点,而不是json,ext不会帮你自动过滤的,如果不支持动态页,直接用ext.ajax请求你的json获取到数据后再生成tree,将获取到的数据来配置App.store.DepTree的root,去掉proxy如
            Ext.define('App.store.DepTree', {
                extend: 'Ext.data.TreeStore',
                root: {
                    id: 0,
                    text: 'root',
                    leaf: false,
                    expanded: true
                }
            });
            Ext.define('App.view.dep.DepTree', {
                extend: 'Ext.tree.Panel',
                //alias: 'widget.deptree',
                uses: ['App.store.DepTree'],
                title: '部门',
                //glyph: 0xf0c9,
                rootVisible: false,
                lines: true,
                //viewModel: 'dep',
                initComponent: function () {
                    var me = this;
                    var store = Ext.create('App.store.DepTree');
                    me.store = store;
                    me.callParent();
                    Ext.Ajax.request({
                        url: 'csdn.json',
                        success: function (response) {
                            var o = Ext.decode(response.responseText);
                            var root = store.getRootNode();
                            root.appendChild(o.deps); 
                        }

                    });
                }
            });
      

  2.   

    配置proxy后,你点击展开一次就全部返回json的所有数据,这样这些数据不就全部作为你点击的这个子节点了。。用动态页来过滤,返回需要的节点,而不是json,ext不会帮你自动过滤的,如果不支持动态页,直接用ext.ajax请求你的json获取到数据后再生成tree,将获取到的数据来配置App.store.DepTree的root,去掉proxy如
            Ext.define('App.store.DepTree', {
                extend: 'Ext.data.TreeStore',
                root: {
                    id: 0,
                    text: 'root',
                    leaf: false,
                    expanded: true
                }
            });
            Ext.define('App.view.dep.DepTree', {
                extend: 'Ext.tree.Panel',
                //alias: 'widget.deptree',
                uses: ['App.store.DepTree'],
                title: '部门',
                //glyph: 0xf0c9,
                rootVisible: false,
                lines: true,
                //viewModel: 'dep',
                initComponent: function () {
                    var me = this;
                    var store = Ext.create('App.store.DepTree');
                    me.store = store;
                    me.callParent();
                    Ext.Ajax.request({
                        url: 'csdn.json',
                        success: function (response) {
                            var o = Ext.decode(response.responseText);
                            var root = store.getRootNode();
                            root.appendChild(o.deps); 
                        }

                    });
                }
            });