日期:2014-05-16  浏览次数:20728 次

求助....关于EXTJS combo 下拉树的问题




如上,我打开一个window的时候会出现这样一个画面.第一次选择文本导入和接口导入2个tab页的时候一切正常
然后这个时候我关闭了这个window 然后再次打开的时候 切换到接口导入 就出现了第三幅图片的样子.感觉做了2次render
JScript code
getFileTree=null;

getInterfaceTree=null;

getPanel_2=null;

getPanel=null;
function uploadReq(){
        //导入文件树
        getFileTree=function(){
        
            var addFileRoot = new Ext.tree.AsyncTreeNode({
                        text : '文件名称',
                        expanded : true,
                        id : '1'
                    });
                var addFileTree = new Ext.tree.TreePanel({
                        loader : new Ext.tree.TreeLoader({
                                    dataUrl : 'req/getNode.jsp'
                                }),
                        root : addFileRoot,
                        autoScroll : true,
                        animate : false,
                        useArrows : false,
                        border : false
                    });

            var comboxWithFileTree = new Ext.form.ComboBox({
                        id : 'filetree',
                        store : new Ext.data.SimpleStore({
                                    fields : [],
                                    data : [[]]
                                }),
                        editable : false,
                        value : ' ',
                        emptyText : '请选择...',
                        fieldLabel : '文件名称',
                        id:'fildName',
                        anchor : '90%',

                        mode : 'local',
                        triggerAction : 'all',
                        maxHeight : 390,
                        tpl : "<tpl for='.'><div style='height:390px'><div id='addFileTreeDiv'></div></div></tpl>",
                        allowBlank : false,
                        onSelect : Ext.emptyFn
                    });
            // 监听下拉树的节点单击事件
            addFileTree.on('click', function(node) {
                        comboxWithFileTree.setValue(node.text);
                        if(!node.hasChildNodes()){//如果选中的节点不是最终的子节点就不会关闭下拉树
                        comboxWithFileTree.collapse();//关闭下拉树
                        }
                    });
            // 监听下拉框的下拉展开事件
            comboxWithFileTree.on('expand', function() {
                        // 将UI树挂到treeDiv容器
                        addFileTree.render('addFileTreeDiv');
                        // addDeptTree.root.expand(); //只是第一次下拉会加载数据
                        addFileTree.root.reload(); // 每次下拉都会加载数据

                    });
                    
                    return comboxWithFileTree;
                    }
    
            
            
            
            //导入接口树
         getInterfaceTree=function(){
        
            var addInterfaceRoot = new Ext.tree.AsyncTreeNode({
                        text : '文件名称',
                        expanded : true,
                        id : '1'
                    });
                var addInterfanceTree = new Ext.tree.TreePanel({
                        loader : new Ext.tree.TreeLoader({
                                    dataUrl : 'req/getNode.jsp'
                                }),
                        root : addInterfaceRoot,
                        autoScroll : true,
                        animate : false,
                        useArrows : false,
                        border : false
                    });
            // 监听下拉树的节点单击事件
            var comboxWithInterfaceTree = new Ext.form.ComboBox({
                        id : 'interfancetree',
                        store : new Ext.data.SimpleStore({
                                    fields : [],
                                    data : [[]]
                                }),
                        editable : false,