Extjs有这样一个例子,下面是加载数据代码,但这里使用的是静态数据,我想换为动态加载,但不知道怎么办。
ApiPanel = function() {
    ApiPanel.superclass.constructor.call(this, {
        id:'api-tree',
        region:'west',
        split:true,
        header: false,
        width: 280,
        minSize: 175,
        maxSize: 500,
        collapsible: true,
        margins:'0 0 5 5',
        cmargins:'0 0 0 0',
        rootVisible:true,
        lines:false,
        autoScroll:true,
        animCollapse:false,
        animate: false,
        collapseMode:'mini',
        loader: new Ext.tree.TreeLoader({
            preloadChildren: true,
            clearOnLoad: false
        }),
        root: new Ext.tree.AsyncTreeNode({
            text:'ROOT',
            id:'root',
            expanded:true,
            children:[Docs.classData]        }),
        collapseFirst:false
    });
    // no longer needed!
    //new Ext.tree.TreeSorter(this, {folderSort:true,leafAttr:'isClass'});    this.getSelectionModel().on('beforeselect', function(sm, node) {
        return node.isLeaf();
    });
};

解决方案 »

  1.   

    从后台去数据;dataUrl: 'url.jsp',
      

  2.   

    能给多一些代码吗?
    loader:new Ext.tree.TreeLoader({
                    url:"tree/treedata"
                })
    我这样改了以后可以取数据,但显示不了。
      

  3.   


    tree这样写:
    xtype: "treepanel",
    width: 130,
    loader: new Ext.tree.TreeLoader({
        url: "",
        baseParams: {
            action: "GetTreeNode"
        }
    }),
    root: new Ext.tree.AsyncTreeNode({
        text: "全部",
        id: "0",
        expanded: true
    })
    后台返回代码格式:
    [{
        "id": "2",
        "text": "123",
        "leaf": true,
        "icon": "Ext/resources/images/default/tree/folder.gif",
        "qtip": "123"
    },
    {
        "id": "3",
        "text": "456",
        "leaf": true,
        "icon": "Ext/resources/images/default/tree/folder.gif",
        "qtip": "456"
    }]