现有遇到一个问题,ext生成树时点text文字,画面会跳到父框架(如附件红色所标)
点其他地方正常显示在右边。(如附件绿色所标)
请帮帮忙,如何解决

解决方案 »

  1.   

    Ext.app.TreeLoader = Ext.extend(Ext.ux.XmlTreeLoader, {
        processAttributes : function(attr){
            attr.text = attr.title.trim();
            if(attr.dataId){
                attr.leaf = true;
            }else if(attr.groupId){
                if(attr.expandFlag=="1"){
                    attr.expanded=true;
                }
                attr.loaded = true;
            }
        }
    });Ext.onReady(function(){    
        var jkTreePanel = new Ext.tree.TreePanel({
            title:'大区',
            xtype: 'treepanel',
            id: 'tree-panel1',
            border:false,
            iconCls:'nav',
            autoScroll: true,
            rootVisible: false,
            root: new Ext.tree.AsyncTreeNode(),
                            
            // Our custom TreeLoader:
            loader: new Ext.tree.TreeLoader({
                //dataUrl:'../html/etData.xml'
                 dataUrl:'menus.do'
                
            }),
            listeners:{
                'render':function(tp){
                    tp.getSelectionModel().on('selectionchange',function(tree,node){
                        var urlValue = node.attributes.href;
                        //alert(urlValue);
                        if(urlValue==""){                    
                         return;
                        }
                        
                        var idValue = node.attributes.id;
                        //alert(idValue);
                        //
                        var component = contentPanel.getComponent(idValue);
                        if (!component) { //
                            component=contentPanel.add({
                            
                                id:idValue,
                                title:node.text,
                                closable:true,
                                layout:'fit',
                                fitToFrame:true,
                                frame: true,                            
                                items: [new Ext.ux.IFrameComponent({ id: 'if'+idValue, url: urlValue , barras: 'yes',scrolling: "yes"})]
                            });
                        }
                        contentPanel.setActiveTab(component);
                    })
                }
            }
        });
                           
        var contentPanel = new Ext.TabPanel({
            region:'center', //
            enableTabScroll:true,
            activeTab:0//
        });
        
        var viewport = new Ext.Viewport({
            layout:'border',
            items:[
                {
                    region:'north',
                    id:'north-panel',
                    contentEl:'navBanner',
                    bodyStyle: 'background:#E2E7EB;valign:middle;',
                    height:20
                },
                {
                    region:'west',
                    id:'west-panel',
                    title:'大区信息',
                    split:true,
                    width: 200,
                    minSize: 200,
                    maxSize: 200,
                    collapsible: true,
                    margins:'0 0 0 0',
                    layout:'accordion',
                    layoutConfig:{
                        animate:true
                    },
                    items: [jkTreePanel]
                }
                ,
                contentPanel
            ]
        });
        
        var tmppanel = contentPanel.add({
            id:'tmp001',
            title:'',
            closable:true,
            layout:'fit',
            items: [new Ext.ux.IFrameComponent({ id: "tf001", url: ''})]
        });
        contentPanel.setActiveTab(tmppanel);
        var component0 =contentPanel.add({
            id:'m0101',
            title:'汇总',
            closable:false,
            layout:'fit',
            items: [new Ext.ux.IFrameComponent({ id: "ifm0101", url: 'detail/etView.html'})]
        });
        contentPanel.setActiveTab(component0);
        contentPanel.remove('tmp001')
    });